text array in JavaScript ansprechen
Thomas
- javascript
Hi!
Ich habe folgendes Problem:
Will ich folgende Eingabefelder:
<input type="text" name="testarray[0]">
<input type="text" name="testarray[1]">
per JavaScript ansprechen (zB window.document.formname.testarray[0].value="XY";), bekomme ich eine Fehlermeldung.
Bei Radiobuttons funktioniert das Ansprechen
<input type="radio" name="testarray[0]">
<input type="radio" name="testarray[1]">
(zb. window.document.formname.testarray[0].checked=true; geht ohne Probleme)
Die Werte der Variablen werden auch bei type="text" richtig an ein folgendes file übergeben(per submit etc.), grundsätzlich funzt das ganze also. Ich kann mir echt nicht erklären, wo das Problem liegt.
vielleicht weiss jemand eine Lösung...
mfg Thomas
<input type="text" name="testarray[0]">
<input type="text" name="testarray[1]">per JavaScript ansprechen (zB window.document.formname.testarray[0].value="XY";), bekomme ich eine Fehlermeldung.
Die eckige Klammer ist auch in JS ein Operator für den array index.
Bei Radiobuttons funktioniert das Ansprechen
<input type="radio" name="testarray[0]">
<input type="radio" name="testarray[1]">
(zb. window.document.formname.testarray[0].checked=true; geht ohne Probleme)
Das ist Zufall und kann eigentlich nur an etwa anderem liegen.
Radioboxengruppen müssen den gleichen Namen tragen, sonst sind es keine Radioboxen. Aber du kannst auch allen anderen Input elementen den gleichen Namen geben und diese mit dem Array Operator ansprechen. Die Frage ist, warum du so seltsame Namen vergeben willst.
Struppi.
per JavaScript ansprechen (zB window.document.formname.testarray
[0].value="XY";), bekomme ich eine Fehlermeldung.
ich denke
document.getElementsByName("testarray[0]")[0].value == "XY";
sollte gehen.
getElement_s_ ist auch eine Gruppe, Array von Elementen, daher muss es mit der Position im HTML Baum angegeben werden. In diesem Fall 0.
window.document.formname.testarray[0].value ist kein Object da der Name für das input-Element syntaktisch nicht korrekt ist. Dieser Stiel ist aber dennoch sehr beliebt :) du kannst die Elemente ja wie oben beschrieben über die getElementsByName Methode ansprechen.
gruss
hi,
window.document.formname.testarray[0].value ist kein Object da der Name für das input-Element syntaktisch nicht korrekt ist. Dieser Stiel ist aber dennoch sehr beliebt :) du kannst die Elemente ja wie oben beschrieben über die getElementsByName Methode ansprechen.
oder er verwendet weiterhin die "alte" schreibweise, nur in der variante mit elements[]:
document.forms["formname"].elements["testarray[0]"].value
gruss,
wahsaga