Einfache Formularvalidierung funktioniert nicht

Nico Reichenbach

Grünschnabel
Hey Leute. Ich bin neu hier.
Ich habe gerade eine einfache Formularvalidierung programmiert. Diese funktioniert aber nicht.
Kann mir vlt. jmd helfen?

HTML:
<div class="formular">
		
		<form method="get" onsubmit="return pruefeFormular()" action="">
	
			<fieldset>	
			
			<label for="uwe">name1</label>
			<input type="radio" name="mitwem" value="name1"  id="name1"/>
			
			<br />
			<br />
			
			<label for="wolfgang">name 2</label>
			<input type="radio" name="mitwem" value="name2"  id="name2"/>
			
			<br />
			<br />
	
			<label for="vorname"> Vorname </label> 
			<input type="text" name="vname" id="vorname" />
			
			<br />
			<br />
			
			<label for="name"> Name </label>
			<input type="text" name="name" id="name" />
			
			<br />
			<br />
		
			<label for="et"> E-Mail/Telefon </label> 
			<input type="text" name="email" id="email" />
			
			<br />
			<br />
			
			<label for="betreff">Betreff</label>
			<textarea value="betreff" cols="25" rows="10" id="betreff"></textarea>
			
			<br />
			<br />
			
			&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
			<input type="submit" name="submit" value="Abschicken" id="submit"/>
			&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;	
			<input type="reset" name="reset" value="Zur&uuml;cksetzen" id="reset"/>
			
			</fieldset>
		
		</form>
		
		</div>

Code:
function pruefeFormular() {
	
	var fehler = 'Sie haben folgende Informationen nicht angegeben:\n\n';
	
	if (document.getElementById('vname').value == "") {
		fehler += 'Ihren Vornamen\n';
		}
		
	if (document.getElementById('name').value == "") {
		fehler += 'Ihren Nachnamen\n';
		}
	
	if (document.getElementById('et').value == "") {
		fehler += 'Ihren E-Mail oder Telefonnummer\n';
		}
		
	if (document.getElementById('betreff').value == "") {
		fehler += 'Ihren Betreff\n';
		}
		
	
	if (fehler != '') {
	alert(var fehler);
	return false;
	}
	
	else {
	return true;
	}
 
Ich habe gerade eine einfache Formularvalidierung programmiert. Diese funktioniert aber nicht.

Das ist leider eine sehr magere Fehlerbeschreibung.

Was mir auf Anhieb auffällt ist, dass folgender Code immer ausgeführt wird, weil du direkt am Anfang "fehler" initialisierst.

Javascript:
if (fehler != '') {
    alert(var fehler);
    return false;
    }

Im Klartext: Die Eingaben werden IMMER als falsch erkannt und das Formular nie abgesendet.


Edit: Jetzt fällt mir noch was auf. Wieso steht da ein "var" in dem alert?
 
Ich habe extra die Fehlerkonsole erwähnt. Das sollte ein Wink sein. Denn wenn du den Fehler behebst kommt

Error: document.getElementById("et") is null

Und wenn du den auch behebst, funktioniert es (zumindest bei mir).
 
Sry. Ich weiß leider nicht wie ich die Fehlerkonsole von Safari benutzen soll (OS 10.6.6 , Safari 5.0.4)
Da ist nirgends ein 'validate' button oder so.
 
Zurück