Funktionen bei JavaScript
Carsten König
- javascript
Hallo zusammen,
ich habe ein Problem mit JavaScript. Ich habe auf einer Seite mehrere Formulare, die ich mittels JavaScript überprüfen möchte. Die Formulare werden per PHP mit einer Nummer versehen und heißen "Formular1", "Formular2", "Formular3"... Das funktioniert sieht dann für ein Formular folgendermaßen aus:
<form name="Formular" . $arrResult["UserID"] . "" method="post" action="activate.php?id=" . $arrResult["UserID"] . "" onSubmit="return checkForm(Formular" . $arrResult["UserID"] . ")"><input type="text" name="passwort" size="10" value="passwort"><input type="image" src="images/green.gif" alt="Freischalten"></form>
Funktioniert auch. Jedenfalls sind im Quelltext die richtigen Zahlen ergänzt.
Die Funktion checkForm sieht dann folgendermaßen aus:
function checkForm(formular) {
if (document.formular.passwort.value == '') || (document.formular.passwort.value == 'passwort') {
alert('\nEs wurde kein Passwort eingetragen.');
return false;
}
}
Das Problem ist nun, dass kein Alert-Fenster aufploppt, wenn das Passwort-Feld leer ist. Irgendwas funktioniert da nicht. Weiss jemand, was?
Tausend Dank und viele Grüße
Carsten
Hallo!
Das Problem ist nun, dass kein Alert-Fenster aufploppt, wenn das Passwort-Feld leer ist. Irgendwas funktioniert da nicht. Weiss jemand, was?
Was sagt die Javascript Konsole?
mfg
frafu
Tag Carsten.
<form [...] onSubmit="return checkForm(Formular)" [...] >
Du willst der Funktion einen hardcodierten String übergeben, übergibst ihr aber hier eine undefinierte Variable.
function checkForm(formular) {
if (document.formular.passwort.value == '') || (document.formular.passwort.value == 'passwort') {
alert('\nEs wurde kein Passwort eingetragen.');
return false;
}
}
Und hier willst du den übergebenen String in unzulässiger Weise verwenden. Abhilfe dürften die allgemeinen Ausführungen zum elements-Objekt, Schema 4 schaffen. Und schau bitte nächstes Mal in die JS-Konsole, da dürfte zumindest der zweite Teil des Problems ersichtlich sein.
Siechfred
hi,
function checkForm(formular) {
if (document.formular.passwort.value == '') ||
Hier sprichst du genau das eine Formular an, dessen Name formular lautet.
Wenn du der Meidnung bist, das formular in document.formular.xy wäre hier eine Variable und es würde der Wert deines Funktionsparameters eingesetzt, irrst du.
Lies http://de.selfhtml.org/javascript/objekte/forms.htm#allgemeines, da steht wie du es richtig machst.
gruß,
wahsaga