Problem bei Selfhtml Beispielscript zur Form-Überprüfung!
Alex
- javascript
Hallo!
Da das so mit dem Script das ich hatte nicht so geklappt hatte, hab ich mir das SELFHTML beispiel zu gemüte geführt, das klappte sehr viel besser, mit dem einzigen Nachteil, dass wenn man am Anfang gar nichts eingibt, dann kommt "Bitte Namen eingeben" Dann klickt man auf OK aber es wird dann trotzdem danach sofort automatisch abgeschickt. was kann das sein?
Hier der Link:<a href="http://www.teamone.de/selfhtml/tedf.htm">http://www.teamone.de/selfhtml/tedf.htm</a>
Gibt es eigentlich noch eine bessere Möglichkeit, die email-Adresse auf Gültigkeit zu überprüfen, als nur auf das @ Zeichen? Wie müßte das dann im Script aussehen?
Ist das mit Javascript denn überhauot die beste Lösung, oder geht so eine Überprüfung mit CGI besser? Ich mein es wäre auch OK, wenn an Stelle des alert Fensters ein formatierter Text mit der Meldung auf der html Seite stehen würde.
gruß
Alex
Hallo Alex,
eine schöne email-validation gibt es hier:
http://javascript.internet.com/forms/email-address-validation.html#source
das script aus selfhtml funktioniert - keine Diskussion darüber.
Gruss
Christian
Hi Christion,
danke für die Antwort, wede ich mir sofort mal näher anschauen.
Aber das mit dem SELFHTML Script funktioniert wiklich so wie ich es beschriebe habe! Wenn ich das Script so kopiere, nur die beinen Ziffern lösche, hochlade und ausführe, funktioniert es perfekt, bis auf die Kleinigkeit, wenn man gar nix eingibt und auf abschicken klickt, kommt zwar die Fehlermeldung, aber wenn man da auf "OK" klickt wird anstatt dieses Feld neu eingeben zu müssen, automatisch die eingegebne action durchgeführt, wenn man nur ein Zeichen eingegeben hat, gehts wunderbar!
Oder müßte man nochwas ändern, außer die 1* und 2* zu löschen? Kann sehr gut sein dass der Fehler bei mir liegt nur wenn ich nix ändere, kann man auch nix falsch machen, oder?
ich will da auch gar nicht groß drüber diskutieren, dachte nur vielleicht weiß ja jemand, was das ist! Ich kann SELFHTML nur loben für die hervorragenden und genauen und vor allem weitgehenden Erklährungen und Beispiele! Hab hier schon viel gelernt:-)
Aber leider funktioniert das Script nicht so, wie es sollte!
Hab meinen Quelltext kurz kopiert. Wenn jemand Lust hat kan er ja einen kurzen Blick riskieren :-)
<html>
<head>
<title>Seitentitel</title>
<script language="JavaScript">
<!--
function chkFormular()
{
if(document.Formular.User.value == "")
{
alert("Bitte Ihren Namen eingeben!");
document.Formular.Name.focus();
return false;
}
if(document.Formular.Ort.value == "")
{
alert("Bitte Ihren Wohnort eingeben!");
document.Formular.Ort.focus();
return false;
}
if(document.Formular.Mail.value == "")
{
alert("Bitte Ihre E-Mail-Adresse eingeben!");
document.Formular.Mail.focus();
return false;
}
if(document.Formular.Alter.value == "")
{
alert("Bitte Ihr Alter eingeben!");
document.Formular.Alter.focus();
return false;
}
if(document.Formular.Mail.value.indexOf('@') == -1)
{
alert("Keine E-Mail-Adresse!");
document.Formular.Mail.focus();
return false;
}
var chkZ = 1;
for(i=0;i<document.Formular.Alter.value.length;++i)
if(document.Formular.Alter.value.charAt(i) < "0"
|| document.Formular.Alter.value.charAt(i) > "9")
chkZ = -1;
if(chkZ == -1)
{
alert("Altersangabe keine Zahl!");
document.Formular.Alter.focus();
return false;
}
}
//-->
</script>
</head>
<body>
<form name="Formular" action="/cgi-bin/form2.cgi"
method=post onSubmit="return chkFormular()">
<pre>
Name: <input type=text size=40 name="User">
Wohnort: <input type=text size=40 name="Ort">
E-Mail: <input type=text size=40 name="Mail">
Alter: <input type=text size=40 name="Alter">
Formular: <input type=submit value="Absenden"><input type=reset value="Loeschen">
</pre>
</form>
</body>
</html>
Hallo Alex,
eine schöne email-validation gibt es hier:
http://javascript.internet.com/forms/email-address-validation.html#source
das script aus selfhtml funktioniert - keine Diskussion darüber.
Gruss
Christian
MFG
Alex
Hallo Alex,
der Fehler ist hier:
{
if(document.Formular.User.value == "")
{
alert("Bitte Ihren Namen eingeben!");
document.Formular.Name.focus();
oben steht "User"
unten steht "Name"
eines davon ist unbekannt, dann reagiert das script falsch.
Gruss
Christian
Hi Christian!
Danke - ich muß wohl noch viel lernen......
Gruß
Alex