JavaScript Variable in HTML weiterverwenden

pes-forever

Urgestein
Thread Starter
Mitglied seit
23.12.2006
Beiträge
10.469
Ort
Schwabenland
Hallo,
wie kann ich eine Java Script Variable in HTML verwenden?
Die Variablen heißen lat und lng.

Ich habe versucht mittels hidden formfields die Variablen in HTML greifbar zu machen.
Leider stehen in den Variablen nur "lat" bzw. "lng" drin.

Am Ende muss ich die Variable mit Abap weiterverarbeiten können.
Da ich eine BSP Anwendung schreibe, kann ich keine alternativen Sprachen verwenden.

Folgendes habe ich schon ausprobiert
PHP:
<script>
    var lat;
    var lng;
           function initialize() {
        var address = 'Kolkata';
            geocoder = new google.maps.Geocoder();
            geocoder.geocode({
            'address': address
            }, function(results, status) {
                lat=document.getElementById("lat").innerHTML=results[0].geometry.location.lat();
                lng=document.getElementById("lng").innerHTML=results[0].geometry.location.lng();
               
                            });
       
        }
        google.maps.event.addDomListener(window, 'load', initialize);
         
    </script>
    
    <input type="text" name="latkonvert" value=lat> 
    <input type="hidden" name="lngkonvert" value=lng>
    <p id="lat"></p>  <%-- Die Werte werden richtigerweise ausgegeben--%>
    <p id="lng"></p>

----------------------------------------------------------------------------------------
Im Eventhandler habe ich folgendes

  lat_  = request->get_form_field( 'latkonvert').  *Hier steht leider nur lat bzw. lng
  lng_  = request->get_form_field( 'lngkonvert').
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Ich habe das Problem jetzt noch nicht ganz verstanden. Du willst, dass der Wert von lat & lng in einem input-Feld stehen, das die Werte dann per Formular weiterschickt ?
Wenn ja hast du die Antwort schon zu 90% fertig. Einfach den Wert auf input.value anstatt anstatt p.innerHtml zuweisen.

Eine direkte Verwendung der JS-Variablen in HTML (á la Binding in C# & XAML z.B.) ist nicht möglich (jedenfalls nicht ohne zusätzliche JS-Frameworks einzubinden).
Du musst mit JS die Attribute der HTML-Elemente selbst verändern (hier: mit JS dem value-Attribut des HTML-Elements input einen Wert zuweisen).

Code:
<script>
    var lat;
    var lng;
           function initialize() {
        var address = 'Kolkata';
            geocoder = new google.maps.Geocoder();
            geocoder.geocode({
            'address': address
            }, function(results, status) {
                lat=document.getElementById([COLOR="#FF0000"]"latinputfield"[/COLOR]).[COLOR="#FF0000"]value[/COLOR]=results[0].geometry.location.lat();
                lng=document.getElementById([COLOR="#FF0000"]"lnginputfield"[/COLOR]).[COLOR="#FF0000"]value[/COLOR]=results[0].geometry.location.lng();
               
                            });
       
        }
        google.maps.event.addDomListener(window, 'load', initialize);
         
    </script>
    
    <input[COLOR="#FF0000"] id="latinputfield"[/COLOR] type="text" name="latkonvert" [COLOR="#FF0000"]value="lat_not_set_error"[/COLOR]> 
    <input[COLOR="#FF0000"] id="lnginputfield"[/COLOR] type="hidden" name="lngkonvert" [COLOR="#FF0000"]value="lng_not_set_error"[/COLOR]>
    [strike]<p id="lat"></p>  <%-- Die Werte werden richtigerweise ausgegeben--%>
    <p id="lng"></p>[/strike]

----------------------------------------------------------------------------------------
Im Eventhandler habe ich folgendes

  lat_  = request->get_form_field( 'latkonvert').  *Hier steht leider nur lat bzw. lng
  lng_  = request->get_form_field( 'lngkonvert').
 
Zuletzt bearbeitet:
Ich habe das Problem jetzt noch nicht ganz verstanden. Du willst, dass der Wert von lat & lng in einem input-Feld stehen, das die Werte dann per Formular weiterschickt ?
Wenn ja hast du die Antwort schon zu 90% fertig. Einfach den Wert auf input.value anstatt anstatt p.innerHtml zuweisen.
Das war mein Fehler, vielen Dank!
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh