• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Mit PHP einen Text an eine JS-Funktion übergeben/Uncaughrt error: variable undefined

Arek Paluszek

New member
Hallo!

Ich versuche von PHP aus eine JS-Funktion aufzurufen und dabei zwei Variablen zu übergeben:

PHP:
	echo   "<img src='../pics/loeschen.jpg' 
			name='$name_bild'
			onclick='f_element_deaktivieren($id,$aktion)'
			onmouseover=' f_loeschen_big_button($id_bild) '
			onmouseout='f_loeschen_small_button($id_bild) '
			>";

Die Variable $id hat eine Zahl als Wert, die ist kein Problem, die Variable $aktion aber hat einen String als Inhalt (wenn ich eine Zahl als Inhalt hinterlege gibt es kein Problem), das alles geht an folgende Funktion:

Code:
function f_element_deaktivieren(id,aktion)
	{
	alert ("Element deaktivieren "+id);
	open("abr_einheiten_liste.php?deaktivieren=1&id="+id+"&aktion="+aktion,"_self");
	}

Das führt zur Fehlermeldung: Uncaught ReferenceError: Variableninhalt-String is not defined

Mit Variableninhalt-String meine ich eben den String welchen die Variable "aktion" beinhaltet. Kann mir jemand sagen, wo der Fehler ist?

Gruss

Arek
 
JS interessiert es nicht, was du serverseitig machst - da zähl nur was im HTML beim Browser ankommt. Schau' dir das mal an und du solltest den Fehler sehen.
 
Ich bin mal so frei, einfach ein Punkt zu posten, aber der wäre dir auch aufgefallen, wenn du in die Fehlerkonsole geschaut hättest.
PHP:
    echo   '<img src="http://forum.jswelt.de/pics/loeschen.jpg"  
            name="'.$name_bild.'" 
            onclick="f_element_deaktivieren('.$id.',\''.$aktion.'\')" 
            onmouseover="f_loeschen_big_button('.$id_bild.')" 
            onmouseout="f_loeschen_small_button('.$id_bild.')" 
            >';

geändert:
1) Attribute in HTML besser in " schreiben, als in '.
2) dem action im js anführungszeichen verpasst (dein problem)
3) Die Variablen ordentlich in den string verknüpft, da dies nun nötig ist, wegen den einfachen anführungszeichen.

Lg Kasalop
 
Hallo alle miteinander!

Stellt Euch vor, ich habe mir den HTML Code angeschaut und dennoch den Fehler nicht auf Anhieb erkannt und ich habe in die Fehlerkonsole geschaut und dennoch aus "Unexpected Token }" oder "Undefined was auch immer" nicht darauf schliessen können, dass der Text in der Klammer nicht in doppelten Anführungszeichen stehen soll. :)

Aber danke für die Hilfe! Habe jetzt dazugelernt!

LG Arek
 
Stellt Euch vor, ich habe mir den HTML Code angeschaut und dennoch den Fehler nicht auf Anhieb erkannt und ich habe in die Fehlerkonsole geschaut und dennoch aus "Unexpected Token }" oder "Undefined was auch immer" nicht darauf schliessen können, dass der Text in der Klammer nicht in doppelten Anführungszeichen stehen soll. :)
Stell dir aber vor wir hätten dir damit viel schneller helfen könne. Su musst zuerst der PHP Code im Kopf zu geparst werden und dann gehoffen, dass das auch der richtige Treffer ist.
 
Zurück
Oben