Der Martin: Anfängerfehler (?) Value von Hidden Formfeldern onClick ändern

Beitrag lesen

Hallo,

Struppi hat dich doch schon freundlich gebeten:

Bitte kein Fullquote, Danke.

Solche Fehler stehen in der Fehlerkonsole.
Leider nein, ausser bei den GetElementByID versuchen und den falschen Leerzeichen ist die fehlerkonsole leer geblieben.

Das überrascht mich aber sehr!

eval("document.forms['form_tage'].elements[" + uebergabezellenid + "].value = '2'");

Autsch. Nein, es ist ganz sicher nicht nötig, hier eval() zu verwenden.

Ich nehme an, dass JS irgendwie nicht erkennt, dass uebergabezellenid nicht der Name des Elements sondern eben eine Variable ist.

Dann solltest du das auch als Variable benutzen, nicht als Stringkonstante.

<form name='form_tage' action='time_control.php' method='post'>

<table>
  <tr>
   <td>Jan</td><td
       bgcolor='#e0ffff' onclick='markieren(this,1230764400)'>01<input type='text' name="1230764400" value = '0'></td><td
       bgcolor='#e0ffff' onclick='markieren(this,1230850800)'>02<input type='text' name="1230850800" value = '0'></td><td
       bgcolor='#cd5c5c' onclick='markieren(this,1230937200)'>03<input type='text' name="1230937200" value = '0'></td><td
       bgcolor='#cd5c5c' onclick='markieren(this,1231023600)'>04<input type='text' name="1231023600" value = '0'></td><td
       bgcolor='#e0ffff' onclick='markieren(this,1231110000)'>05<input type='text' name="1231110000" value = '0'></td></tr></table>

<input type=submit value = 'Testen'></form>

  
Prima. Der Zugriff auf die Eingabefelder wäre also möglich mit ...  
  
 document.form\_tage.1230764400  
  
.. wenn, ja wenn Bezeichner in Javascript mit einer Ziffer beginnen dürften. Dürfen sie aber nicht, also kommt nur die alternative Form in Frage:  
  
 document.form\_tage.elements["1230764400"]  
  
Wenn du nun noch den konstanten String "1230764400" durch eine Variable ersetzt (nicht durch eine andere Stringkonstante!), bist du doch schon am Ziel.  
  
Nebenbei: In HTML müssen name- und id-Attribute mit einem Buchstaben beginnen! Deine rein numerischen name-Werte sind also an sich schon ungültig. Dass manche Browser trotzdem damit umgehen können, ist vielleicht schön, aber nicht selbstverständlich.  
  
So long,  
 Martin  

-- 
Zwischen Leber und Milz  
passt immer noch'n Pils.