" Problem

Bei mir gibt der Code :
PHP:
echo '<td class="zlistitem" onmouseover="document.getElementById("zlistrow").className=\'test\'">'.$temp[$i].'</td>'
Das hier zurück:
Code:
<td class="zlistitem" onmouseover="document.getElementById("zlistrow).className='test'>
2162</td>
(Hinter dem zlistrow fehlt ein " )
Was mache ich Falsch ?
 
Versuchs mal mit \" anstelle von nur "
Kann sein das es sonnst geparst wird.
 
Ich habs schon mit echo " und dann \" probiert hatte keinen erfolg

Wenn ich bei echo ' ein \" verwende übernimmt er es einfach:
Schreibt aber das \ hin und lässt das " weg
Code:
<td class="zlistitem" onmouseover="document.getElementByClass(\"zlistrow\).className='test'>
 
Code:
echo '<td class="zlistitem" onmouseover="document.getElementById("zlistrow").className=\'test\'">' . $temp[$i] . '</td>';

hat bei mir perfekt funktioniert:
<td class="zlistitem" onmouseover="document.getElementById("zlistrow").className='test'">derhundisbunt</td>
 
IE oder FF ?

Hab gerade getestet IE zeigt den Quellcode richtig an !
Wenn nan sich in FF den Quelltext mit Notepad anzeigen lässt dann ist es auch da.
Nur die JS Console meckert:
Error: syntax error
Source Code:
document.getElementById(

Mein Code ist
Code:
echo '<td class="zlistitem" onmouseover="document.getElementByName("zlistrow").id=\'zlistrowon\'">' . $temp[$i] . '</td>';

Ist da noch nen anderer Fehler drin ?
 
ja klar ... js-argumente werden in singlequotes uebergeben.

echo "<td class=\"zlistitem\" onmouseover=\"document.getElementsByName('zlistrow').id='zlistrowon'\">".$temp[$i]."</td>";

und bei js heisst es

getElementById

aber

getElementsByName



gruss
hardy
 
zwei fragen: was sagte der ff denn zu deinem code? und hast du eventuell das dev-kid fuer ff installiert?
letzteres hat eine wunderbare js-konsole, mit welcher man scripts sehr schoen debuggen kann.

hardy
 
Er hat mir im Quelltext das Hintere " bei Argument unterschlagen
JS Konsole hat mir den Fehler bei diesem Fehlenden " gezeigt
 
vielleicht hilft dir das hier.

echo "<td class=\"zlistitem\" onmouseover=\"document.getElementsByName('zlistrow').id='zlistrowon';return true\">".$temp[$i]."</td>";

ich sitz heut auch schon wieder zu lange vor der kiste hier. mir fehlt glas wein und dann ein weiches bett. ;)
 
Auch wenns gelöst ist ... wieso nicht so:

Code:
<td class="zlistitem" onmouseover="document.getElementById('zlistrow').className='test'"><? echo $temp[$i]; ?></td>
 
Weil ich die ID onmouseover auf zlistrowon setzte und bei onmouseout auf zlistrowoff
Theoretisch ist es machbar wenn man davon ausgeht das die ID normalerweise zlistrowoff ist
Aber so ist es weniger Fehler anfällig.

Außerdem is ID für einmal existierende Objekte
(der Code ist noch ein wenig komplizierter hab nur nen ausschnitt gewählt):
Code:
<tr class="zlistrow" name="zlistrow" id="zlistrowoff">
<td class="zlistitem" id="0" onmouseover="document.getElementsByName('zlistrow')[this.id].id='zlistrowon';" onmouseout="document.getElementsByName('zlistrow')[this.id].id='zlistrowoff';"> <a class="zlistlink" href=""> Hallo </a> </td>
<td class="zlistitem" id="0" onmouseover="document.getElementsByName('zlistrow')[this.id].id='zlistrowon';" onmouseout="document.getElementsByName('zlistrow')[this.id].id='zlistrowoff';"> <a class="zlistlink" href="i">Hallo</a> </td>
<td class="zlistitem" id="0" onmouseover="document.getElementsByName('zlistrow')[this.id].id='zlistrowon';" onmouseout="document.getElementsByName('zlistrow')[this.id].id='zlistrowoff';"> <a class="zlistlink" href="">Hallo</a> </td>
<td class="zlistitem" id="0" onmouseover="document.getElementsByName('zlistrow')[this.id].id='zlistrowon';" onmouseout="document.getElementsByName('zlistrow')[this.id].id='zlistrowoff';"> <a class="zlistlink" href="">0</a> </td>
</tr>

<tr class="zlistrow" name="zlistrow" id="zlistrowoff">
<td class="zlistitem" id="1" onmouseover="document.getElementsByName('zlistrow')[this.id].id='zlistrowon';" onmouseout="document.getElementsByName('zlistrow')[this.id].id='zlistrowoff';"> <a class="zlistlink" href=""> Hallo </a> </td>
<td class="zlistitem" id="1" onmouseover="document.getElementsByName('zlistrow')[this.id].id='zlistrowon';" onmouseout="document.getElementsByName('zlistrow')[this.id].id='zlistrowoff';"> <a class="zlistlink" href="i">Hallo</a> </td>
<td class="zlistitem" id="1" onmouseover="document.getElementsByName('zlistrow')[this.id].id='zlistrowon';" onmouseout="document.getElementsByName('zlistrow')[this.id].id='zlistrowoff';"> <a class="zlistlink" href="">Hallo</a> </td>
<td class="zlistitem" id="1" onmouseover="document.getElementsByName('zlistrow')[this.id].id='zlistrowon';" onmouseout="document.getElementsByName('zlistrow')[this.id].id='zlistrowoff';"> <a class="zlistlink" href="">0</a> </td>
</tr>
usw.
 
Zurück
Oben