"Input Arrays" ansprechen (name=xxx[1])

Mik3e

Erfahrenes Mitglied
Guten Morgen!

Stehe vor folgendem Problem:
Habe eine Seite, in der aus einem Popup in einen Datencontainer (<P>) verschiedene Input Fields angelegt werden.

Das Popup schriebt z.B.: folgenden Inhalt in den Datacontainer des Hauptdokuments:
HTML:
<p id="datacontainer" name="datacontainer">
<INPUT TYPE="text" NAME="id[1]" VALUE="1">
<INPUT TYPE="text" NAME="bezeichnung[1]" VALUE="Testbezeichnung">

<INPUT TYPE="text" NAME="id[2]" VALUE="2">
<INPUT TYPE="text" NAME="bezeichnung[2]" VALUE="Zweite Testbezeichnung">
</p>
Im Hauptdokument gibt es dann eine Funktion, die diese Elemente verändern kann.
Z.B.:
HTML:
function test (aktivsektor) {
    alert(aktivsektor.id); // GIBT z.B. 1 aus
    alert(parent.ticketlayoutdesigner_main.document.xpos[aktivsektor.id].value);  // FÜHRT ZU FEHLERMELDUNG
}
Spreche ich das Array-Input Feld falsch an oder warum kommt es zu folgender Fehlermeldung: "xpos is undefined";

Danke für Eure Hilfe,
LG
Mike
 
In deinem Code steht nirgentwo irgentetwas von "xpos" folglich ist es undefined, wo ist das Problem? Wenn sie in keinem <form>-Tag stehen oder Klammern in ihrem Namen haben, gib <input>-feldern besser eine id und sprech sie mit document.getElementById() an.
 
Zuletzt bearbeitet:
xpos war ein Fehler in meiner Frage (sorry).
Das Ansprechen mit getElementByID (oder ByName) ist mir auch klar...
Nachdem die Felder aber mit einem [] versehen sind, ist das etwas problematisch...

Ich habe es nun nach ein paar stunden gelöst:
HTML:
parent.ticketlayoutdesigner_hidden.document.getElementsByName('xpos['+aktivsektor.id+']')[0].value=x;

:)
 

Neue Beiträge

Zurück