tobias-digital Geschrieben 7. September 2004 Geschrieben 7. September 2004 Hi! Bin in Javascript nicht so fit. Ich versuche ein Formular zu validieren, sprich wenn ein Pflichtfeld nicht ausgefüllt ist, soll ne Messagebox, die rummeckert, erscheinen. Hier mal (stark vereinfacht) was ich bis jetzt gemacht hab: Javascript (check.js) function check(theForm) { if(theForm.plz.value.length == 0) { alert("Feld PLZ nicht ausgefüllt"); theForm.plz.focus(); return (false); } if(theForm.ort.value.length == 0) { alert("Feld Ort nicht ausgefüllt"); theForm.ort.focus(); return (false); } } HTML (form.htm) <script type="text/javascript" src="check.js"></script> <form action="suche.htm" method="post" name="suche"> <input type="text" name="plz" /> <input type="text" name="ort" /> <input type="button" name="submit" onclick="return check(this)" /> </form> Jedoch funktioniert es nicht. Die Fehlermeldung lautet immer: "plz.value" ist NULL oder kein Objekt". Soweit ist mir klar was die Fehlermeldung mir sagen will, aber plz ist doch eindeutig da. Würde gerne verstehen woran das liegt. Danke im Vorraus und Gruß Tobias
kLeiner_HobBes Geschrieben 7. September 2004 Geschrieben 7. September 2004 dein "theForm" gibt es nicht. Wenn, dann sollte es mit (suche.plz.value == "") versuchen.
tobias-digital Geschrieben 7. September 2004 Autor Geschrieben 7. September 2004 ich dachte ich übergebe mit bei "check(this)" das aktuelle Formular als Javascript Objekt und "theForm" ist doch der Parameter von "check".
kills Geschrieben 7. September 2004 Geschrieben 7. September 2004 es muss so heissen: <script type="text/javascript" src="check.js"></script> <form action="suche.htm" method="post" name="suche"> <input type="text" name="plz" /> <input type="text" name="ort" /> <input type="button" name="submit" onclick="return check(this.form)" /> </form> Wenn du mehere Buttons hast, kannst dus auch so machen: <script type="text/javascript" src="check.js"></script> <form action="suche.htm" method="post" name="suche" onSubmit="return check(this)"> <input type="text" name="plz" /> <input type="text" name="ort" /> <input type="button" name="submit" /> </form> schöner ist es allerdings mit Smarty und SmartyValidate - Serverseitig zu validieren: siehe: http://smarty.php.net
kLeiner_HobBes Geschrieben 7. September 2004 Geschrieben 7. September 2004 Sorry, verpeilt. War aber, wie kills festgestellt hat, eh nicht ganz richtig.
tobias-digital Geschrieben 7. September 2004 Autor Geschrieben 7. September 2004 Hey! "this.form" funktioniert, vielen Dank kills und kLeiner_HobBes! Gruß Tobias
kills Geschrieben 7. September 2004 Geschrieben 7. September 2004 Hey! "this.form" funktioniert, vielen Dank kills und kLeiner_HobBes! Gruß Tobias bitte bitte. this alleine hat nicht funktioniert, weil wenn du innerhalb eines <input ../> den this zeiger aufrufst, dann bekommst du im JavaScript das Object des Inputs, nicht des Formulars. Aber laut selfHTML kann man bei allen Formularelementen this.form angeben und schon klappts. .... :marine
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden