Verschachtelung von Anfuehrungszeichen bei Javascript-Einbindung

Aser

Erfahrenes Mitglied
tag zam...
ich habe da ein Problem, das mir schon n dutzend male untergekommen ist... und ich finde einfach keine Loesung

ich habe z.B
PHP:
echo"document.getElementById('".$bauerfinalebuchstabe.$bauerfinalezeile."').innerHTML = \"<a onClick=\'bauerfinaleauswahlbuchstabe();\' >".$figurenanzeige."test.auswahlmenue</a>\";  ";

hierbei kann ich nix in die Klammern setzen, da ich bereits mit >"< angefangen habe, dann kommen >\"< dann >\'<

mein versuch waere gewesen, dass ich dies verwende
PHP:
echo"document.getElementById('".$bauerfinalebuchstabe.$bauerfinalezeile."').innerHTML = \"<a onClick=\'bauerfinaleauswahlbuchstabe(\'musterinhalt\' );\' >".$figurenanzeige."test.auswahlmenue</a>\";  ";
dann wird das script allerdings falsch unterteilt und es geht gar nix mehr...d.h. ich kanns nur verwenden, soweit ich keinen Wert uebergeben muss...

ist es nicht irgendwie moeglich, dass ich das Ganze ohne Anfuehrungszeichen machen kann
z.B.
PHP:
echo"document.getElementById('".$bauerfinalebuchstabe.$bauerfinalezeile."').innerHTML = \"<a onClick=\'bauerfinaleauswahlbuchstabe(musterinhalt );\' >".$figurenanzeige."test.auswahlmenue</a>\";  ";


ich bin am verzweifeln
dann mal Dank im Voraus
 
Schau dir doch einfach an, was ausgegeben würde und wie dies von JavaScript interpretier würde:
Code:
document.getElementById('…').innerHTML = "<a onClick=\'bauerfinaleauswahlbuchstabe();\' >…test.auswahlmenue</a>";
=>  <a onClick=\'bauerfinaleauswahlbuchstabe();\' >…test.auswahlmenue</a>

document.getElementById('…').innerHTML = "<a onClick=\'bauerfinaleauswahlbuchstabe(\'musterinhalt\' );\' >…test.auswahlmenue</a>";
=>  <a onClick=\'bauerfinaleauswahlbuchstabe(\'musterinhalt\' );\' >…test.auswahlmenue</a>

document.getElementById('…').innerHTML = "<a onClick=\'bauerfinaleauswahlbuchstabe(musterinhalt );\' >…test.auswahlmenue</a>";
=>  <a onClick=\'bauerfinaleauswahlbuchstabe(musterinhalt );\' >…test.auswahlmenue</a>
Was ist bei allen Ausgaben falsch?
 
OK, es befindet sich ein Leezeichen vor der geschlossenen Klammer... aber des war in diesem Fall nur n Tippfehler...
das sind ja nur Beispiele...

wenn ich nun
...onClick="bauerfinal...
verwende wird die ganze Sache von PHP falsch intepretiert
 
sorry... aber ich finde den verdammten Fehler net...

soweit ich weiss sollte es so gehen
<a onClick=\'bauerfinaleauswahlbuchstabe('musterinhalt' );\' >…test.auswahlmenue</a>
aber genau diese Kombination kriege ich nicht hin
 
Ich würd’s wie folgt machen:
PHP:
echo 'document.getElementById("'.$bauerfinalebuchstabe.$bauerfinalezeile.'").innerHTML = "<a onclick=\"bauerfinaleauswahlbuchstabe(\'musterinhalt\')\">'.$figurenanzeige.'test.auswahlmenue</a>";';
 
Das Gleiche wäre natürlich auch mit den doppelten Anfühungszeichen möglich:
PHP:
echo "document.getElementById(\"".$bauerfinalebuchstabe.$bauerfinalezeile."\").innerHTML = \"<a onclick=\\"bauerfinaleauswahlbuchstabe('musterinhalt')\\">".$figurenanzeige."test.auswahlmenue</a>\";";
Da in beiden Sprachen (PHP und JavaScript) beide Anführungszeichen für Zeichenketten möglich sind, gibt es natürlich noch viele andere möglichen Schreibweisen.
 
Zurück