Formularprüfung mit Javascript in Verbindung m. formmail.php

  • Hallo!

    Bitte um Hilfe! Ich bastle jetzt schon seit längerem an einem Formular, dass über ein formmail.php abgeschickt werden soll. Alles funktioniert soweit, nur nach der Fehlermeldung, welches Feld nicht ausgefüllt wurde, erscheint trotzdem die danke.html ("Vielen Dank, Ihre E-Mail wurde versendet").

    Die Formularprüfung sieht folgendermaßen aus:

    <script type="text/javascript">
    <!--
    function pruefe()
    {

    if(document.formular.Name.value == "")
    {
    alert("Bitte geben Sie Ihren Vornamen ein!");
    document.formular.Name.focus();
    return false;
    }

    if(document.formular.Vorname.value == "")
    {
    alert("Bitte geben Sie Ihren Vornamen ein!");
    document.formular.Vorname.focus();
    return false;
    }

    if(document.formular.Strasse.value == "")
    {
    alert("Bitte geben Sie Ihre Straße ein!");
    document.formular.Strasse.focus();
    return false;
    }

    if(document.formular.PLZ.value == "")
    {
    alert("Bitte geben Sie eine gültige Postleitzahl ein!");
    document.formular.PLZ.focus();
    return false;
    }

    if(isNaN(document.formular.PLZ.value))
    {
    alert("Bitte geben Sie eine gültige Postleitzahl ein!");
    document.formular.PLZ.focus();
    return false;
    }

    if(document.formular.Ort.value == "")
    {
    alert("Bitte geben Sie den Ort ein!");
    document.formular.Ort.focus();
    return false;
    }

    if(isNaN(document.formular.Tel.value))
    {
    alert("Bitte geben Sie Ihre Telefonnummer ein!");
    document.formular.Tel.focus();
    return false;
    }

    if(document.formular.email.value.indexOf("@") == -1)
    {
    alert("Bitte geben Sie eine gültige E-Mail-Adresse ein!");
    document.formular.email.focus();
    return false;
    }

    else
    {
    return true;
    }
    }
    //-->
    </script>


    Das Formular sieht so aus:

    <form action="formmail.php" method="POST" name="formular" onSubmit="return pruefe()">
    <input type="hidden" name="recipient" value="contact@kingdomimpact.org">
    <input type="hidden" name="env_report" value="REMOTE_HOST,REMOTE_ADDR">
    <input type="hidden" name="subject" value="Anliegen">
    <input type="hidden" name="return_link_url" value="http://www.kingdomimpact.org">
    <input type="hidden" name="redirect" value="h_danke.html">

    <table class="h_table" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td width="80">Name:</td>
    <td width="20"></td>
    <td width="250"><input class="h_textfeld" type="text" name="Name" size="34" maxlength="40"></td>
    </tr>
    <tr>
    <td width="80">Vorname:</td>
    <td width="20"></td>
    <td width="250"><input class="h_textfeld" type="text" name="Vorname" size="34" maxlength="40"></td>
    </tr>
    <tr>
    <td width="80">Stra&szlig;e:</td>
    <td width="20"></td>
    <td width="250"><input class="h_textfeld" type="text" name="Strasse" size="34" maxlength="40"></td>
    </tr>
    <tr>
    <td width="80">PLZ:</td>
    <td width="20"></td>
    <td width="250"><input type="text" name="PLZ" size="5" maxlength="5"></td>
    </tr>
    <tr>
    <td width="80">Ort:</td>
    <td width="20"></td>
    <td width="250"><input class="h_textfeld" type="text" name="Ort" size="34" maxlength="40"></td>
    </tr>
    <tr>
    <td width="80">Tel.:</td>
    <td width="20"></td>
    <td width="250"><input class="h_textfeld" type="text" name="Tel" size="34" maxlength="40"></td>
    </tr>
    <tr>
    <td width="80">E-Mail:</td>
    <td width="20"></td>
    <td width="250"><input class="h_textfeld" type="text" name="Email" size="34" maxlength="40" tabindex="1"></td>
    </tr>
    <tr height="21">
    <td colspan="3" width="350" height="21">Anliegen:</td>
    </tr>
    <tr>
    <td colspan="3" width="350"><textarea name="anliegen" cols="41" rows="10"></textarea></td>
    </tr>
    </table>

    </p>


    </p>


    <input type="submit" name="abschicken" value="abschicken" tabindex="1" onFocus="this.blur()" class="h_input">
    </p>
    </form>

    Woran könnte es liegen? Vielen Dank für jede Hilfe!

    HoPatty

  • ich kenn mich zwar ned mit JS aus, aber ich erklär mir das so, dass dein javascript bei JEDEM aufruf deiner seite ausgeführt wird, auch wenn die seite zum ersten mal aufgerufen wird und die felder da logischerweiße noch leer sind ==> dieser fehler.

    ich würde es sowieso mit php überprüfen, mit einem if (empty()) oder if (!isset()) ...

  • Hm, also das JavaScript wird nur dann ausgeführt, wenn man auf "Abschicken" klickt. Dann kommt die entsprechende Fehlermeldung, was fehlt, und dann wird die danke.html aufgerufen, obwohl noch nicht alle Felder ausgefüllt wurden.

    Mit PHP kenne ich mich leider noch nicht so gut aus, deswegen wollte ich es mit Javascript versuchen.