Formular überprüfen klappt nicht :-(((
jeki
- javascript
1 Cheatah0 dbenzhuser0 jeki
0 flashnfantasy0 jeki
Das Formular soll überprüfen, ob die Postleitzahl 5 Zahlen hat
nur wenn es keine 5 Zahlen sind, soll der Alarm
("Bitte geben Sie eine 5-stellige PLZ ein!")
erscheinen. Sonst nach der Überprüfung soll der Alarm ("Danke diese PLZ besteht aus 5 Zahlen.") angezeigt werden.
Wer kann mir helfen???, denn der erste Alarm erscheint auch wenn 5 Zahlen eingegeben wurden und das Danke... sehe ich nie
mfg JEKI
#####################################################################
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>PLZ überprüfen</title>
<script language="JavaScript">
<!--
function CheckPLZ(){
var plzlaenge = document.forms['feld'].Textfeld;
alert ("Im nächsten Fenster können Sie Ihre Eingabe überprüfen !");
alert (document.forms['feld'].Textfeld.value);
if (plzlaenge >= "00001" && plzlaenge <= "99999")
{
alert ("Danke diese PLZ besteht aus 5 Zahlen.");
}
else
{
alert ("Bitte geben Sie eine 5-stellige PLZ ein!");
document.forms['feld'].Textfeld.focus();
}
}
//-->
</script>
</head>
<body>
<form name="feld" onSubmit="return CheckPLZ()">
<strong><font face="Verdana, Arial, Helvetica, sans-serif">Bitte geben Sie Ihre
PLZ ein:</font></strong>
<input name="Textfeld" type="text" maxlength="5">
<input name="check" type="submit" value="Eingabeprüfung">
</form>
</body>
</html>
#####################################################################
Hi,
Das Formular soll überprüfen, ob die Postleitzahl 5 Zahlen hat
also beispielsweise "12 732.5 16777216 -78 2E-13". Oder meinst Du doch eher fünf Ziffern?
denn der erste Alarm erscheint auch wenn 5 Zahlen eingegeben wurden
Was hat Deine Analyse ergeben? Was für Alternativen hast Du ausprobiert?
<script language="JavaScript">
ERROR: Required attribute "type" missing.
Cheatah
N'Obend
var plzlaenge = document.forms['feld'].Textfeld;
...
if (plzlaenge >= "00001" && plzlaenge <= "99999")
{
alert ("Danke diese PLZ besteht aus 5 Zahlen.");
}
else
{
alert ("Bitte geben Sie eine 5-stellige PLZ ein!");
document.forms['feld'].Textfeld.focus();
}
Lieber so:
var plz = document.forms['feld'].Textfeld.value;
Mit .value wird der Inhalt des Feldes angesprochen, um den gehts ja.
if(plz.length < 5 || isNaN(plz))
Überprüft wird ob der übergebene String (du bekommst ja nicht direkt eine Zahl) kürzer als 5 Stellen ist. Anschließend, ob es sich dabei überhaupt um eine Zahl handelt. Das ist so natürlich noch nicht wirklich perfekt, schließlich werden auch Kommazahlen durchgewunken werden, aber egal, mir hats gereicht.
{
alert ("Bitte geben Sie eine 5-stellige PLZ ein!");
document.forms['feld'].Textfeld.focus();
}
else
{
alert ("Danke diese PLZ besteht aus 5 Zahlen.");
}
Verbesserungsmöglichkeiten:
* Nachsehen, ob es wirklich nur Ziffern sind (z.B. mit einer Mini-Regexp),
* Beachten, dass nicht alle PLZ aus 5 Ziffern bestehen, in der Schweiz z.B. sinds nur 4.
* Sicher eine Menge mehr, an die ich jetzt gerade nicht denke (und vielleicht auch nie denken werde)
Tschö,
dbenzhuser
Hey das ist schon die halbe miete. das script funktioniert :-)
jetzt nur noch die überprüfung ob es auch ziffern sind und fertig DANKE JEKI
Du musst den JS ja auch irgendwie einbinden in dein Submit !
Versuch es mal hiermit
http://de.selfhtml.org/javascript/beispiele/formulareingaben.htm
Ja schon klar
das war nicht das problem es hat ja meldungen ausgespuckt nur eben immer die gelichen. egal ob 5 oder weniger ziffern
danke trotzdem JEKI