FireGlow: Anführungszeichen

Moin!

Hab JavaScript im JavaCode und ein Problem bei der Übergabe von Parametern an JS-Methoden:

out.println("Inhalt = Inhalt + '<tr><td width="2"></td><td width="174"><a href="javascript:showPicture('+TD+', '+x+');"> ' + mediaArray[x]["shorttext"] + '</a></td>';");

Genauer gesagt geht es um den link, und zwar sind TD und X variablen in einer Funktion, die an eine andere Funktion übergeben werden sollen.

Leider kriegt diese Funktion diese als "Objekte" und nicht als Text.

Ein einbetten mit mehreren \" hilft irgendwie nichts:

[...] href="javascript:showPicture(\"'+TD+'\", \"'+x+'\") [...]

bei einfachem " wird das href beendet.

Wie muss man denn da die verschiedenen Anführungszeichen nutzen?

  1. So selbst rumgetestet:

    out.println("Inhalt = Inhalt + "<tr><td width=\"2\"></td><td width=\"174\"><a href=\"javascript:showPicture('" + TD + "', "+x+");\"> " + mediaArray[x]['shorttext'] + "</a></td>";");

  2. Hi,

    ich hoffe mal, TD und x sind vorher in JavaScript definiert. Aber du sagst, da kommen Objekte raus, dann wird das wohl zutreffen. Wenn TD und x allerdings aus Java kommen, hast du ein Problem.

    Normalerweise müsste es reichen, showPicture(TD,x); zu schreiben. Aber du scheinst ja den _Inhalt_ der Variablen TD und x haben zu wollen (wenn ich deine Ausführungen dahingehend richtig verstehe), daher musst du sie vorher in einen entsprechenden String umwandeln, der von showPicture verarbeitet werden kann.

    Wenn du noch ein bisschen mehr Quellcode postest, kann man dir sicher genauer helfen.

    Der Yeti

    --
    Habe nun, ach! WInfo, BWL, und Mathe, Und leider auch Info!
    Durchaus studiert, mit heißem Bemühn. Da steh' ich nun, ich armer Thor!
    Und bin so klug als wie zuvor!
    sh:( fo:| ch:? rl:? br:< n4:& ie:( mo:| va:| de:[ zu:) fl:| ss:) ls:< js:|