document.forms[0].elements[#].value.length ist undefined
mary*
- javascript
Hej,
ich möchte die Länge des Inhalts mehrerer input-Felder ausgeben.
Die Namen der Felder sind dynamisch, damit sie per PHP ausgelesen werden können.
Sie stehen am Anfang des Formulars, starten also bei Index 0, wenn sie per document.forms[0].elements[#] ausgelesen werden sollen.
Der Aufruf von:
alert(document.forms[0].elements[i].value);
funktioniert tadellos.
Aber wenn ich die Länge haben möchte, meldet das alert-Fenster immer "undefined".
alert(document.forms[0].elements[i].value.length);
Ich habe das ganze schon zwischengespeichert und versucht als string zu konvertieren...hilft alles nischt.
Weiß jemand Rat?
Vielen Dank und schönes Nächtle,
mary*
Hello,
hier nochmal der Code, genauer:
Ausgabe HTML:
for($i=1; $i<count($variableAnzahl); $i++) {
echo '<input type="text" name="field'.$i.'"/>';
}
Die JavaScript-Funktion
function foo(anzahlFelder) {
counter = 0;
for(i=0; i<anzahlFelder;i++) {
alert(document.forms[0].elements[i].value.length);
counter++;
}
if(counter==0) return FALSE;
return TRUE;
}
Der Aufruf:
<button type="submit" onClick="foo(<?= count($variableAnzahl);?>)">testen</button>
Die Ausgabe: "undefined"
Ich hoffe, dass war so verständlicher?
Vielen Dank für alle Antworten,
mary*
Hallo! - Problem gelöst:
der Vollständigkeit halber...:
Ich habe auf's Gratewohl "forms[0]" durch den wirklichen Namen der
Form ersetzt. PLÖTZLICH ging's. Liegt wohl an mir, aber komisch
bleibt's.
So geht's:
Die JavaScript-Funktion
function foo(anzahlFelder) {
counter = 0;
for(i=0; i<anzahlFelder;i++) {
alert(document.inputForm.elements[i].value.length);
counter++;
}
if(counter==0) return FALSE;
return TRUE;
}
Vielleicht hilft's jemandem...
Gruss und schöne Ostern,
mary*