friction: dynamischer id name

hi,

ich habe 22 input felder mit dem id name f1,f2,f3,f4....f22.

mit einer for schleife will ich den wert der felder in dem array "ein" speichern.
dafür muß ich den Id namen dynamisch generieren und so wie ich das jetzt gemacht klappt das nicht.

for(var i=0, i<22; i++)
{
ein[i]=document.getElementById('f'+i).value;
}

was habe ich denn falsch gemacht ?

danke

  1. Hallo friction,

    was habe ich denn falsch gemacht ?

    bist du sicher, dass das Formular mit all seinen Inputfeldern zu dem Zeitpunkt, da du deren values auslesen möchtest überhaupt schon geladen ist?

    Warum gehst du nicht über document.meinFormular.elements['f' +i].value?

    Ruf die Funktion ggf. mit window.onload auf oder binde das Script unterhalb des Formulars ein!

    Gruß Gernot

  2. ich habe 22 input felder mit dem id name f1,f2,f3,f4....f22.

    ^^
    siehe weiter unten

    dafür muß ich den Id namen dynamisch generieren und so wie ich das jetzt gemacht klappt das nicht.

    klappt nicht ist eine sehr gute Fehlerbeschreibung.

    for(var i=0, i<22; i++)

    ^

    fällt dir was auf?

    {
    ein[i]=document.getElementById('f'+i).value;

    ist ein als Array defniert?

    }

    was habe ich denn falsch gemacht ?

    Ohne eine genaue Fehlerbeschreibung schwer zu sagen.

    Struppi.

    1. for(var i=0, i<22; i++)
                  ^

      »»

      Blöder fehler meinerseits.

      wenn ich die schleife mit 1 beginne funktioneirts.

      danke

      1. for(var i=0, i<22; i++)
                    ^
        »»

        Blöder fehler meinerseits.

        solche Fehler lassen sich vermeiden, wenn man Rückgabewerte überprüft.

        In deinem Falle z.b. so:

        for(var i=0, i<22; i++)
        {
        var o = document.getElementById('f'+i);
        if(o) ein[i] = o.value;
        else if(! prompt('Fehler Objekt exisiert nicht. weiter?');
        }

        Struppi.