Ankündigung

Einklappen
Keine Ankündigung bisher.

Arbeiten mit JavaScript-ermittelten Werten (Geo-Koordinaten)

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Arbeiten mit JavaScript-ermittelten Werten (Geo-Koordinaten)

    Hallo Zusammen,

    ich habe da mal wieder ein kleines Problem, wobei ich meine, da falsch ran zu gehen.

    Auf meiner Seite hat der Benutzer die Möglichkeit Geo-Koordinaten in seinem Profil anzugeben.
    Wenn er jetzt auf eine Unterseite wechselt, wo diese Daten benutzt werden, funktioniert das super.

    Ist er jedoch unterwegs, wird es schwierig.
    Ich ermittele die aktuelle Position mit folgendem JavaScript:

    Code:
                        <script type="text/javascript">
                            navigator.geolocation.getCurrentPosition(function(position){
                                    document.getElementById('geo_latitude').value = position.coords.latitude;
                                    document.getElementById('geo_longitude').value = position.coords.longitude;
                                }, function(){
                                    document.getElementById('pos').innerHTML = 'Deine Position konnte leider nicht ermittelt werden';
                                });
                        </script>
    Nachdem der Code aus einer Form heraus ausgeführt wird, bekommt der Nutzer die Nachfrage ob er den Standortzugriff erlauben möchte.
    Sollte er das mit "Ja" beantworten, werden die aktuellen Positionsdaten in die Felder "geo_latitude" und "geo_longitude" geschrieben.

    Jetzt mein vermeindlicher Denkfehler:

    Die PHP-Datei ist doch zum Aufruf schon "fertig" interpretiert.
    Wie kann ich es anstellen, dass nach dem Senden der Form noch die Entfernung ermittelt wird (mit den aktuellen Feldwerten)?
    Da wird ja weder GET noch POST gesendet, richtig?

    Das geht doch gar nicht, oder?

    Gruß und Danke
    Schmorhase

  • #2
    Du kannst in der dargestellten Website einen AJAX Request an den Server senden, ohne die Seite neu aufrufen zu lassen.
    Competence-Center -> Enjoy the Informatrix
    PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

    Kommentar


    • #3
      Danke für die Info!

      Das Thema ist mir noch etwas befremdlich.
      Ich habe es versucht und einen EventListener konfiguriert, der irgendwie nicht ausgelöst wird.

      Im Code-Beispiel geht es um die Auswahl der Bundesländer zu einem Land (also Länderliste im ersten Select laden).
      Nach Auswahl wird "loadSelection" ausgeführt, die Bundesländer aus der Datenbank geladen und dann das zweite Select befüllt.
      Klappt super, bis zu dem Zeitpunkt wo ich einen zweiten EL einrichte.
      Dann funktionieren beide EL's nicht mehr.

      Ich bin hierzu purer Anfänger und muss mir doch die Grundlagen noch reinprügeln...

      Code:
          // Das XMLHttpRequest-Objekt setzen
          var xhr = new XMLHttpRequest();
      
          // Beim laden der Seite der ersten Auswahlliste den Event-Handler "change" geben,
          // dieser ruft dann (beim auswählen) die Funktion: loadSelection() auf.
          window.addEventListener('load', function() {
              document.getElementById("selCountry").addEventListener("change", loadSelection);
          });

      Kommentar


      • #4
        Du brauchst kein AJAX wenn du für "Unterwegs" auch ein Formular bereitstellst.

        Kommentar


        • #5
          Der User kann per Radiobutton auswählen welche Werte verwendet werden sollen. Also ein Formular.

          Kommentar


          • #6
            Ist zumindest kein PHP Thema, es gibt hier auch ein Unterforum für Javascript.

            Zeige nach Möglichkeit auch immer dein HTML(Formular sollte reichen) dazu so das man sieht worauf sich das bezieht.

            Kommentar


            • #7
              Klappt super, bis zu dem Zeitpunkt wo ich einen zweiten EL einrichte.
              Dann funktionieren beide EL's nicht mehr.

              Ich bin hierzu purer Anfänger und muss mir doch die Grundlagen noch reinprügeln...
              ich hab nicht verstanden was nicht funktioniert,m du schreibst es ja irgendwie auch nicht, meine aber es liegt am event ,listener
              https://molily.de/js/event-handling-effizient.html

              Kommentar


              • #8
                Das Thema ist wirklich eher AJAX.
                Könnte ein Admin das Thema ggf. verschieben?
                Tatsächlich würde ich DIESES Thema eher schließen wollen, führt es nicht zum Ziel.
                Ich habe Arne's Kommentar aufgegriffen und etwas herumprobiert.

                Kommentar


                • #9
                  [MOD: Verschoben von PHP Einsteiger]

                  Kommentar

                  Lädt...
                  X