Javascript-PHP-Mix

Gesperrt
Neologist
Beiträge: 11
Registriert: Do 30. Mär 2006, 11:34
Wohnort: Moritzburg
Kontaktdaten:

Javascript-PHP-Mix

Beitrag von Neologist » Fr 31. Mär 2006, 16:41

Hallo,

ich möchte gerne eine Navigation realisieren, die Hover-Effekte ermöglicht. Leider haut das noch nicht ganz hin. Hier ein kleiner Auszug der Ausgabe des Moduls:

Code: Alles auswählen

echo '<tr><td height="9" align="right"><a target="'.$target.'" href="front_content.php?idcat='.$db->f("idcat").'" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage(''.$db->f("name").'','','images/smallnav/'.$db->f("name").'_ov.gif','0')"><img alt="'.$db->f("name").'" style="border:0px" src="upload/smallnav/'.$db->f("name").'.gif"></a></td></tr>';
Wie ihr seht wird hier in PHP eine Javascript-Funktion aufgerufen, die eine PHP-Variable benötigt, damit sie arbeitet. Funktioniert das überhaupt so? Bis jetzt bekomme ich nur folgende Ausgabe:

Code: Alles auswählen

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in /home/htdocs/web1/html/cms/front_content.php(792) : eval()'d code on line 296
Sobald ich die den Aufruf der Javascript-Funktion folgendermaßen abändere:

Code: Alles auswählen

onMouseOver="MM_swapImage('.$db->f("name").',,images/smallnav/'.$db->f("name").'_ov.gif,0)"
läuft das Modul zwar wieder ohne Fehler, aber der Hovereffekt funktioniert nicht. Hat irgendjemand vielleicht einen Vorschlag, der hier Abhilfe schaffen könnte?

stese
Beiträge: 1040
Registriert: Fr 3. Dez 2004, 17:47
Wohnort: München
Kontaktdaten:

Beitrag von stese » Fr 31. Mär 2006, 16:54

man muss die einfachen anführungszeichen escapen:

Code: Alles auswählen

echo '<tr><td height="9" align="right"><a target="'.$target.'" href="front_content.php?idcat='.$db->f("idcat").'" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage(\''.$db->f("name").'\',\'\',\'images/smallnav/'.$db->f("name").'_ov.gif\',\'0\')"><img alt="'.$db->f("name").'" style="border:0px" src="upload/smallnav/'.$db->f("name").'.gif"></a></td></tr>';

Neologist
Beiträge: 11
Registriert: Do 30. Mär 2006, 11:34
Wohnort: Moritzburg
Kontaktdaten:

Beitrag von Neologist » Fr 31. Mär 2006, 17:18

Vielen, vielen Dank für die wirklich schnelle Hilfe.

Hat natürlich geklappt - hätte man auch selber drauf kommen können :oops:

In meinem Quelltext waren noch zwei Fehler drin:

echo '<tr><td height="9" align="right"><a target="'.$target.'" href="front_content.php?idcat='.$db->f("idcat").'" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage(\''.$db->f("name").'\',\'\',\'upload/smallnav/'.$db->f("name").'_ov.gif\',\'0\')"><img name="'.$db->f("name").'" alt="'.$db->f("name").'" style="border:0px" src="upload/smallnav/'.$db->f("name").'.gif"></a></td></tr>';

Nur, falls es mal einer nachmachen will und sich wundert, warums trotzdem nicht geht ;-) Danke aber nochmal!

Gesperrt