Linuchs: Hochkomma über mehrere Kontextwechsel bringen

Beitrag lesen

Hallo,

ein input-Feld für Namen enthält die Angaben

onkeyup   = "holeVorschlaege('[HOST]',this.id,this.value)"
onblur    = "loescheVorschlaege(this.id)"

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

PHP sendet den kompletten Inhalt des Vorschlags-Containers, inklusive Javascript-Code, bei Klick den Namen ins input-Feld zu kopieren. Das gibt Probleme:

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

Dass ich den Namen so schicke, imponiert Javascript überhaupt nicht:

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

Ich müsste mit PHP für Javascript so etwas machen wie

 value='name.replace(/'/g, ''')'

Aber beim besten Willen, wie pfriemel ich das in diese PHP-Zeile? Die Hochkommas treten sich ja geradezu auf die Füße. Mal sind sie Daten, mal gehören sie zum Javascript-Code und dann wieder zum PHP-Code:

echo "<span onClick=\"".$klick."\">";
echo htmlspecialchars($treffer['firma1'],ENT_QUOTES);
echo " &nbsp; ".$treffer['land_kz']."-".$treffer['plz']." ".$treffer['ort_name'];
echo "</span><br>\n";

Ich glaube, ich denke zu viel um die Ecke, vielleicht ist's ja ganz einfach.

Linuchs