• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[GELÖST] Mehrere Formulardaten-Püfungsfehler in einem Alert zusammenfassen

SchonmalDanke

New member
Liebe Leute,

bin schon stundnelang am Suchen und habe auch die Suchfunktion benutzt, komme aber nicht weiter.

Sicher kann mir jemand von Euch schnell weiterhelfen?

Code:
<SCRIPT language="JavaScript">
function checkdata(){
	 var name = document.sendform.name.value;
	 var email = document.sendform.email.value;
	 var checked = true;
	 if (name.length==0) {
	    alert("Name fehlt.");
	    checked = false;
	    }
	 if (email.length==0) {
	    alert("Email fehlt.");
	    checked = false;
	    }
	 if (checked) {
	   document.sendform.method = "post";
	   document.sendform.action = "gesendet.php";
	   document.sendform.submit();
	 }
	 return checked;
} 
</SCRIPT>

Die ALerts "Name fehlt." und "Email fehlt." kommen hintereinander weg, wenn jemand beide Formularfelder nicht ausfüllt.

Ich möchte die Fehlermeldung einfach auf einem Alert zusammenfassen, mit Zeilenumbruch.
 
Zuletzt bearbeitet von einem Moderator:
Vielleicht so:
Code:
	 var message = "";
	 if (name.length==0) {
	    message = "Name fehlt.";
	    checked = false;
	    }
	 if (email.length==0) {
            if (message != "") message += "\n";
	    message += "Email fehlt.";
	    checked = false;
	    }
	 if (!checked) alert(message);
 
Wenn man das unbedingt über JS machen will/muss, würde ich das ja über ein Array machen. Macht den Code etwas einfacher:
Code:
	var message = [];
	if (name.length === 0){
		message.push("Name fehlt.");
	}
	if (email.length === 0) {
        	message.push("Email fehlt.");
	}
	if (message.length){
		alert(message.join("\n"));
	}

Viel einfacher wird das ganze natürlich, wenn man statt dessen die neuen HTML5 Attribute zur <form>-Validierung verwendet:
Code:
<!DOCTYPE html>

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>Fenstertitel</title>
</head>
<body>
<form>
	Name: <input required name="name"><br>
	Email: <input type="email" required name="email"><br>
	<button type="submit">absenden</button>
</form>
</body>
</html>

PS: Das language-Attribut ist veraltet -> weg damit.
 
Zurück
Oben