Avatar billede tipman Juniormester
23. september 2021 - 22:00 Der er 2 kommentarer og
1 løsning

Opdaterer ikke hver gang

Jeg benytter nedenstående kode.
1. Jeg kommer ind på siden og ser knap A og B.
2. Den spørger om jeg vil gemme koordinater, det virker fint.
3. Den viser koordinater.
4. Hvis jeg nu trykker på en knap igen og siger Cancel til at gemme, så vises koordinater 0,0. Det er også godt nok.
5. Hvis jeg nu trykker på en knap igen og siger OK til at gemme, så viser den stadig 0,0. Hvorfor det? Prøver jeg igen, så kommer koordinaterne næste gang.


<script type="text/javascript">
function getGPS()
{
    var Result = confirm("Ønsker du at gemme GPS position?");
    if(Result){
        if (navigator.geolocation)
        { 
            navigator.geolocation.getCurrentPosition(showGPS);
        }
        else
        { 
            gpsText.innerText = "No GPS Functionality.";
        }
    }
    else
    {
        document.cookie="latitude=0";
        document.cookie="longitude=0";
    }
}
function showGPS(position)
{
    document.cookie="latitude="+position.coords.latitude;
    document.cookie="longitude="+position.coords.longitude;
}
</script>


<?php
if(isset($_POST['submitGPS'])){
    $boje=$_POST['submitGPS'];
    $lat=$_COOKIE["latitude"];
    $long=$_COOKIE["longitude"];   
    echo "<h1>".$lat.'--'.$long.'--'.$boje.'<br></h1>';
}

?>
<body>
    <form class="customform" action="hide-gps_pos.php" method="POST">

    <h1>
        <button name="submitGPS" type="submit" value="A" onclick="getGPS()">TEST A</button>
        <button name="submitGPS" type="submit" value="B" onclick="getGPS()">TEST B</button>
    </h1>
    </form>
</body>
Avatar billede tipman Juniormester
23. september 2021 - 22:09 #1
Problemet er i min Chrome på PC, der er ikke noget på problem på Safari i min iphone.
Avatar billede NVedsted Juniormester
27. september 2021 - 15:35 #2
Hej, tipman.

Har du stadigvæk problemer med dette?

Jeg bider mærke i, at du laver noget onclick i din form, som også har en submit action. Dette gør mig lidt i tvivl om det er garanteret at dit onclick-event kan nå at køre inden submission går i gang og redirecter. Jeg kan især forestille mig at callback-metoden showGPS ikke nødvendigvis kan nå at blive kaldt.

Et alternativ kan være at du bruger onsubmit på formen i stedet for og prevent default på eventet, og så manuelt submitter, når du ved at JavaScript'et er klart. Dog går dit A og B lidt tabt i det tilfælde. Måske dette kan udskiftes med radio buttons? Eller måske er det nemmere og mere overskueligt at lave to forms.

Jeg håber, at disse tanker kan bruges til noget. :)
Avatar billede tipman Juniormester
25. oktober 2021 - 08:13 #3
Jeg har løst den ved at dele den i to steps. Javascript gemmer position som cookie. PHP læser derefter fra cookie, når jeg kører submit.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester