Prüfung der Formular Gültigkeit
Michael Berger
- javascript
also ... ich hab ne seite wo man daten in en formualr eingibt, dies wird dann beim absenden von nem script gecheckt und wenn was nicht so ist wie ich das will soll ne fm kommen und der versand nicht stattfinden
er findet auch raus wenn was nicht stimmt und bringt ne warnmeldung, aber dennoch schickt er das formular ab
wo ist mein fehler? hier mal der code
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Intranet - Informationen</title>
<script type="text/javascript">
<!--
function chkFormular()
{
if(document.Formular.namemelder.value == "") {
alert("Bitte Ihren Namen eingeben!");
document.Formular.User.focus();
return false;
}
if(document.Formular.name.value == "") {
alert("Bitte den Namen des Kontakts einggeben!");
document.Formular.Ort.focus();
return false;
}
if(document.Formular.vorname.value == "") {
alert("Bitte den Vornamen des Kontakts einggeben!");
document.Formular.Mail.focus();
return false;
}
if(document.Formular.ort.value == "") {
alert("Bitte den Ort des Kontakts einggeben!");
document.Formular.Mail.focus();
return false;
}
if(document.Formular.info.value == "") {
alert("Bitte die Infozu dem Kontakt einggeben!");
document.Formular.Mail.focus();
return false;
}
}
//-->
</script>
</head>
<body topmargin="0" leftmargin="0">
<p><img src="../images/banner.jpg" alt="banner.jpg (3105 Byte)" width="900" height="80"></p>
<table width="75%" border="0">
<tr>
<td width="4%"> </td>
<td width="96%" colspan="2"><font color="#FF0000" size="6" face="Verdana, Arial, Helvetica, sans-serif"><em>"Ich
weiß was"</em></font></td>
</tr>
<tr>
<td width="4%"> </td>
<td>
<form name="Formular" action="mail.asp" method="post" onSubmit="return chkFormular()">
<!-- hier folgen die Formularelemente -->
<table width="75%" border="1">
<tr>
<td>Name des Melders</td>
<td><input name="namemelder" type="text" size="60" maxlength="60"></td>
</tr>
<tr>
<td>Name</td>
<td><input name="name" type="text" size="30" maxlength="40"></td>
</tr>
<tr>
<td>Vorname</td>
<td><input name="vorname" type="text" size="30" maxlength="40"></td>
</tr>
<tr>
<td>Strasse</td>
<td><input name="strasse" type="text" size="50" maxlength="50"></td>
</tr>
<tr>
<td>PLZ</td>
<td><input name="plz" type="text" size="5" maxlength="5"></td>
</tr>
<tr>
<td>Ort</td>
<td><input name="ort" type="text" size="30" maxlength="40"></td>
</tr>
<tr>
<td>Information</td>
<td><textarea name="info" cols="60" rows="5"></textarea></td>
</tr>
<tr>
<td><input type="submit" value=" Absenden "></td>
<td><input type="reset" value=" Abbrechen"></td>
</tr>
</table>
<p> </p>
</form>
</td>
</tr>
</table>
<p> </p>
<p> </p><p> </p>
<pre> </pre>
<p> </p>
<p> </p>
</body>
</html>
Hallo,
er findet auch raus wenn was nicht stimmt und bringt ne warnmeldung, aber dennoch schickt er das formular ab
wo ist mein fehler? hier mal der code<script type="text/javascript">
<!--
function chkFormular()
{
if(document.Formular.namemelder.value == "") {
alert("Bitte Ihren Namen eingeben!");
document.Formular.User.focus();
^Dieses Formular-Element existiert nicht.
return false;
}
...
<form name="Formular" action="mail.asp" method="post" onSubmit="return chkFormular()">
...
<td><input name="namemelder" type="text" size="60" maxlength="60"></td>
Da ein Formular-Element mit dem Namen "User" nicht existiert, wird JavaScript an dieser Stelle mit einer Fehlermeldung[1] beendet und die Funktion gibt _nicht_ den Wert false zurück. Daraufhin erhält onsubmit des Formulars _nicht_ den Rückgabewert false. Das Formular wird abgesendet.
[1] Im IE beim Testen: Extras-Internetoptionen-Erweitert-Skriptfehler anzeigen
viele Grüße
Axel
oh mann, wie war das doch noch gleich mit dem wald und den bäumen? danke vielmals