Sven Rautenberg: PHP Parameter in JavaScript ausgeben???

Beitrag lesen

Moin!

<a href=index.php onMouseOver=over(''.$lfrucht.''); onMouseOut=out();>'.$lfrucht.'</a>

<script language="javascript" type="text/javascript">

blank=new Image(); blank.src="img/hg/blank.jpg";
apfel=new Image(); apfel.src="img/hg/apfel.jpg";
ananas=new Image(); ananas.src="img/hg/ananas.jpg";
function over(lfrucht)
{
alert(lfrucht);
document.blank.src=lfrucht.src;
}

</script>

lfrucht ist kein Image-Objekt, es hat keine Eigenschaft 'src'.

Richtige Analyse. Der Grund liegt im generierten Link, der meines Erachtens (dummerweise lassen die Fragesteller bei sowas immer zuviel Code weg) so im Browser auftauchen dürfte:

<a href=index.php onMouseOver=over('ananas'); onMouseOut=out();>ananas</a>

lfrucht ist ein String. Die Zuweisung muesste als so aussehen:

document.blank.src = lfrucht;

Falsche Lösung. Schließlich steckt das auszutauschende Bild nicht unter der URL "ananas", sondern im globalen Objekt ananas.src.

Der LINK muß geändert werden:
onmouseover="over(ananas);"

Bei dieser Gelegenheit sollten ___ALLE___ (dreifachunterstreich) Attributwerte in Anführungszeichen (einfache oder doppelte) eingeschlossen werden!!!!1 Ansonsten haben Browser unter Umständen berechtigte Probleme.

<a href="index.php" onMouseOver="over(ananas);" onMouseOut="out();">ananas</a>

- Sven Rautenberg

--
Signatur oder nicht Signatur - das ist hier die Frage!