javascript Werte nach HTML Formular
bearbeitet von
Hallo Henrique,
in deinem generierten Quellcode steht
~~~js
L.marker([poleLat+.03, poleLon-.03], {icon: streetSmartMarker}).addTo(map).bindPopup("null").openPopup();
~~~
Leaflet tut also genau das, was du ihm gesagt hast. Wenn Du kein separates <p> Element anlegen willst, das danach ins Leaflet gesaugt wird, müsste als Argument von bindPopup wohl ein HTML String mit dem Sourcecode für dieses <p> Element erscheinen. Wenn da "null" steht, war in der Variablen, die Du da PHP seitig genutzt hast, ggf. nichts drin.
Der Unterschied zwischen JavaScript- und PHP-Variablen ist Dir hoffentlich klar.
Das hier ist auch nicht ganz gar:
> `var name1 = "<?php echo json_encode($name1); ?>";`
json_encode ist der empfohlene Weg, um PHP Strings für JavaScript zu codieren, richtig. Aber: die Anführungszeichen bringt json_encode schon mit, die musst Du weglassen. Andernfalls dürfte das Script mit einem Error abbrechen.
Und wenn, dann solltest Du auch die <?= ?> Syntax verwenden, das ist kompakter:
> `var name1 = "<?= json_encode($name1); ?>";`
Es kann nun noch sein, dass Leaflet tatsächlich ein HTML Element erwartet und mit einem einfachen Text nicht klarkommt. Probier also im Zweifelsfall mal dies:
> `var name1 = "<p><?= json_encode($name1); ?></p>";`
_Rolf_
--
sumpsi - posui - obstruxi