Gunnar Bittersmann: Hochkomma über mehrere Kontextwechsel bringen

Beitrag lesen

@@Linuchs

Da werden bis zu fünf Vorschläge per Ajax geholt. Namen wie O'Nelly, also die Hochkommata machen Probleme.

Tja, das gehört auch kein ' rein, sondern ein Apostroph: O’Nelly. Aber für Nutzereingaben kannst du nichts.

Das gibt Probleme:

onclick="document.getElementById('name').value='O'Nelly'; 

JavaScript-Code hat in HTML nichts zu suchen. Die Probleme sind hausgemacht.

Verwendent keine on…-Attribute, sondern registriere Eventhandler im JavaScript-Code per addEventListener.

echo ... htmlspecialchars($treffer['firma1'],ENT_QUOTES) ...

Damit sollten ' und " escapet werden, AFAIS.

echo "<span onClick=\"".$klick."\">";

Es gibt keinen guten Grund dafür, Markup mit echo zu generieren.

PHP in HTML schachteln, nicht andersrum:

<span onclick="<?php echo $klick; ?>">

oder kurz

<span onclick="<?= $klick ?>">

Und schon müssen auch keine " als \" escapet werden.

Zu onclick gilt allerdings das oben Gesagte.

LLAP 🖖

--
Ist diese Antwort anstößig? Dann könnte sie nützlich sein.