problem mit for schleife (input felder)

Chino

Erfahrenes Mitglied
nabend !

ich hab n kleines js prob, weiß nich wo der fehler liegt. here we go:

ich hab ein formular, indem eine verschiedene anzahl an inputfelder drin sind. das formular sollte natürlich erst abgeschickt werden, wenn auch alles ausgefüllt ist. um jetzt nich immer manuell alles ins script zu schreiben, wollte ich eine schleife machen, die jedes feld auf ihren wert überprüft. wenn alle felder ausgefüllt sind, wird eben das formular abgescickt. hier mal der code:

PHP:
function checkFields() {
	var frm = eval(window.document.forms[0]);
	var error = 0;
		
	for(var i=0;i<34;i++) {
		if (frm.elements[i].value == '') {
			error = 1;
		} else {
			error = 0;
		}
	}
	
	if (error == 0) {
			frm.submit();
	} else {
			alert('Das Formular wurde noch nicht vollständig ausgefüllt !');
	}
}
das problem liegt hier:
PHP:
frm.elements[i].value == ''
irgendwie wird da i nicht richtig ausgeben. ich steh gerad was aufm schlauch, jemand n tipp für mich ?

thx,
chris
 
hat sich erledigt! folgendermaßen klappts:

PHP:
function checkFields() {
	var frm = eval(window.document.forms[0]);
	var error = 0;
		
	for(var i=0;i<frm.length;i++) {
			if (frm.elements[i].value == "") {
			error = 1;
		} else {
			error = 0;
		}
	}
	
	if (error == 0) {
			frm.submit();
	} else {
			alert('Das Formular wurde noch nicht vollständig ausgefüllt !');
	}
}
 
wieso eval(window.document.forms[0]);, da brauchst du kein eval oder, eval's sind schlecht sie machen das Script langsam.
 

Neue Beiträge

Zurück