Probleme beim Versenden der Daten mit JavaScript-Abfrage
FrankR
- javascript
Hallo Forum!
Mein Problemli:
Ich hab ein Formular welches per CGI eine eMail an mich schickt. Jetzt hab ich per JavaScript eine Abfrage eingebaut, welche überprüft ob alle Formularfeldes ausgefüllt wurden.
Es kommen zwar die Fehlermeldungen von wegen nichts angebenen aber die Formaction, also versenden der Daten, wird trotzdem ausgeführt. Any ideas wie ich die Formaction verhindern kann und erst wenn die "validation" stimmt ausgeführt wird? Danke.
Hier mal der Code:
<script LANGUAGE="JavaScript">
<!--
function validate_form() {
validity = true;
if (!check_empty(document.form.NAME.value))
{ validity = false; alert('Name vergessen.'); }
if (!check_email(document.form.EMAIL.value))
{ validity = false; alert('Email falsch.'); }
if (!check_empty(document.form.DESCRIPTION.value))
{ validity = false; alert('Nachricht vergessen.'); }
if (validity)
return validity;
}
function check_empty(text) {
return (text.length > 0);
}
function check_email(address) {
if ((address == "")
|| (address.indexOf ('@') == -1)
|| (address.indexOf ('.') == -1))
return false;
return true;
}
// -->
</script>
<form NAME="form" METHOD="post" OnSubmit="return validate_form()" ACTION="/cgi-bin/formmail">
<input TYPE="hidden" NAME="email" VALUE="email@adresse.de">
Hi,
Es kommen zwar die Fehlermeldungen von wegen nichts angebenen aber die Formaction, also versenden der Daten, wird trotzdem ausgeführt. Any ideas wie ich die Formaction verhindern kann und erst wenn die "validation" stimmt ausgeführt wird? Danke.
Dein onSubmit-Handler reicht bereits den Rückgabewert der aufgerufenen Funktion weiter, das ist also kein Problem. Die Funktion muss lediglich noch "false" liefern, wenn der Check negativ verläuft.
<script LANGUAGE="JavaScript">
ERROR: Required attribute "TYPE" missing.
if (validity)
return validity;
Ich sehe was, was Du nicht sahst :-)
Dass eine clientseitige Prüfung ein serverseitiges Äquivalent niemals ersetzen kann, brauche ich sicher nicht zu erwähnen.
Cheatah
if (validity)
return validity;
Und was?!? Steh gerade tierisch auf dem Schlauch. ;(
Hi,
if (validity)
return validity;Und was?!? Steh gerade tierisch auf dem Schlauch. ;(
Du gibst nur dann etwas zurück, wenn es true ist.
Cheatah