Ich habe folgende Formularüberprüfung für ein Formularfeld definiert. (Funktioniert auch wunderbar)
<!--
function chkFormular()
{
if(document.Formular.a1.checked == true && document.Formular.a2.value == "") {
alert("Bitte geben Sie die Anzahl, zu dem von Ihnen gewählten Artikel an!");
document.Formular.a2.focus();
return false;
}
else {
for(i=0;i<document.Formular.a2.value.length;++i){
if(document.Formular.a2.value.charAt(i) < "0" || document.Formular.a2.value.charAt(i) > "9"){
alert("Bitte eine Ziffer eingeben");
document.Formular.a2.focus();
return false;
}
}
}
}
//-->
Nun möchte diese auf viele andere Felder anwenden. Da es den Quelltext wahnsinig aufblechen würde die gleiche Abfrage für jedes einzelne Formularfeld hinzuschreiben, habe ich mir gedacht man könne dass evtl. mit einer for-Schleife lösen. In dem ich die Schleife, den Feldnamen (hier a1 und a2) austauschen lasse. Sprich a3 und a4; a5 und a6; a7 und a8 usw.
In etwa so:
------------------------
var z = 24; #anzahl der Paare
for( i=1 ; z>0 ; i=i+2 ){
j=i+1;
if(document.Formular.i.checked == true && document.Formular.a2.value == "") {
alert("Bitte geben Sie die Anzahl, zu dem von Ihnen gewählten Artikel an!");
document.Formular.j.focus();
return false;
}
else {
for(i=0;i<document.Formular.j.value.length;++i){
if(document.Formular.j.value.charAt(i) < "0" || document.Formular.a2.value.charAt(i) > "9"){
alert("Bitte eine Ziffer eingeben");
document.Formular.j.focus();
return false;
}
z=z-1;
}
-----------------------
Das Problem ist, dass die Zähler i und j Zahlen wie 1 o. 2 o. 3 produzieren, meine Felder heißen aber a1 , a2 , a3 usw. Habe auch schon versucht die Felder nach Ziffern umzubenenen doch dann funktioniert die if-Abfrage nicht.
Ich bin ein absoluter Anfänger was Programmierung angeht und weiss garnicht ob dieses mit JavaScript überhaupt möglich ist.
Währe für Hife sehr dankbar!
MfG Willi.