Zur Navigation

String an JavaScript-Funktion übergeben

1 lava

Hallo, ich möchte einen String an eine JavaScript-Funktion übergeben. Diesen String lese ich aus einem JSP aus (aber ich wüßte auch nicht, wie es korrekt ginge, wenn ich ihn einfach per Hand eingeben würde - irgendwas ist falsch an meiner Syntax). Hier der Code für den Aufruf:

<form method="get" action="change_umfrage.jsp" 
onsubmit="return confirmdelete2(<%=frage.gettyp()%>)" > 

und für die Funktion
function confirmdelete2(typ)
{ 
if (typ != "FR"){
	return confirm("Möchten Sie diese Frage und alle zugehörigen Antworten wirklich löschen?");
	} 
else{
	return confirm("Möchten Sie diese Frage wirklich löschen?");
	}
}

Zuerst dachte ich, ich bräuchte evtl. noch Anführungszeichen um das Argument , bzw. statt "" auch /" /"


confirmdelete2(/"<%=frage.gettyp()%>/">)

aber das hilft auch nichts....

28.06.2007 18:11 | geändert: 28.06.2007 18:12

2 Jörg Kruse

Wa steht denn an der Stelle im HTML-Quelltext, nachdem dieser von JSP erzeugt wurde?

28.06.2007 18:20

3 lava

wenn ich nicht mit irgendwelchen Anführungszeichen herumhantiere, steht da z.B.

 onsubmit="return confirmdelete2(RD)" 

oder halt auch

onsubmit="return confirmdelete2(FR)" >

Das Ergebnis des Java-Einschubs ist immer ein String, bestehend aus 2 Buchstaben. Was MÜSSTE denn im HTML-Code stehen, damit es korrekt ist?

Wenn ich normale Anführungszeichen nehme, steht
onsubmit="return confirmdelete2("CB")"
drin, und mit /" steht tatsächlich (ich kam erst auf die Idee, mir im Browserfenster den Code anzeigen zu lassen, und bin selbst verwundert)
onsubmit="return confirmdelete2(/"CB/")"
drin.

29.06.2007 09:00 | geändert: 29.06.2007 09:16

4 Jörg Kruse

Die doppelten Anführungsstriche werden ja schon gebraucht, um den Wert von onsubmit einzugrenzen, für das Argument von confirmdelete2() könntest du aber noch einfache Anführungsstriche verwenden

confirmdelete2('<%=frage.gettyp()%>'>)

PS: zum Escapen wird das \ verwendet, nicht das / (das Escapen hätte hier allerdings auch nicht weitergeholfen)

29.06.2007 09:30 | geändert: 29.06.2007 09:31

5 lava

Super, jetzt geht es - danke :)

29.06.2007 09:43 | geändert: 29.06.2007 09:53

6 Jörg Kruse

Ja, du kannst im öffnenden form Tag auch ein target Attribut notieren

<form method="get" action="ziel.jsp" target="_blank" onsubmit="return confirmdelete2('<%=frage.gettyp() %>')">

29.06.2007 09:49 | geändert: 29.06.2007 09:49

7 lava

Danke, hab es gerade erfolgreich ausprobiert. So, dann werde ich mich jetzt nochmal mit dem Gesamtseitenlayout befassen...

29.06.2007 09:55

... 5 Jahre und 3 Monate später ...

8 :D (Gast)

Danke hat sehr geholfen

07.10.2012 21:19

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]