Hi!
Ok, diesmal war's schon verstaendlicher. *g* Du hast also eine Anzahl y Textfelder (INPUT TYPE=TEXT), die die Namen CallTo1 bis CallToy tragen, die Du daraufhin ueberpruefen willst, ob eine Zahl und nichts anderes drin steht.
var NUMBER_OF_CALLTO_INPUTS = 50; // Anzahl y der zu ueberpruefenden Textfelder
function chkTextInput(input) {
return (!isNaN(parseInt(input.value, 10)));
}
function chkFormular() {
var i;
var input;
for (i=1; i<=NUMBER_OF_CALLTO_INPUTS; i++) {
input = eval("document.Formular.CallTo" + i); // erzeugt Referenz auf ein element (<../../tecbbda.htm>)
if (!chkTextInput(input)) {
alert("Keine Zahl eingegeben in Element " + input.name + "!");
input.focus();
return false;
}
}
return true;
}
Falls Du die Anzahl der Elemente im vorneherein nicht weisst, musst Du statt der obigen For-Schleife eine Konstruktion aehnlich folgender verwenden:
for (input in document.Formular.elements) {
if (input.name.substring(0, 6) != "CallTo") next; // alle ueberspringen, die nicht mit "CallTo" beginnen
if (!chkTextInput(input)) {
alert("Keine Zahl eingegeben in Element " + input.name + "!");
input.focus();
return false;
}
}
Wie parseInt() auf leere Zeichenketten reagiert, also wenn nichts in ein Textfeld eingegeben wurde, weiss ich nicht. Notfalls musst Du in der chkTextInput()-Funktioon das noch extra pruefen.
Calocybe