Rolf B: javascript Werte nach HTML Formular

Beitrag lesen

Hallo Henrique,

in deinem generierten Quellcode steht

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>";

(Edit: Syntaxfehler berichtigt)

Rolf

--
sumpsi - posui - obstruxi