JavaScript Funktion leitet trotzdem weiter...

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • JavaScript Funktion leitet trotzdem weiter...

    Hallo,

    ich versuche mich gerade das erste Mal in JavaScript. Und wie es am Anfang so ist, kopiert man irgendwo Scripte und versucht die zu verstehen. Nun wollte ich Formulareingaben mit JS prüfen lassen.
    Die Funktion gibt false zurück (also das alert), springt aber trotzdem zur Zielseite. Kann man das irgendwie verhindern???

    Ich würd mich sehr freuen, wenn mir da jemand helfen könnte.

    Formular (nur die relevanten Stellen):

    Quellcode

    1. ...
    2. <script language="JavaScript" type="text/javascript" src="mailer.js"></script>
    3. ...
    4. <form name="form" method="post" action=<?php echo $_SERVER['SCRIPT_NAME'];?>>
    5. ...
    6. <input type="text" name="absender" />
    7. ...
    8. <input name="submit" value="Senden" type="submit" onClick="testEmail(absender)" />


    das JavaScript dazu:

    Quellcode

    1. function isEmail(feld) {
    2. // werden regular expressions unterstuetzt?
    3. var supported = 0;
    4. if (window.RegExp) {
    5. var tempStr = "a";
    6. var tempReg = new RegExp(tempStr);
    7. if (tempReg.test(tempStr)) supported = 1;
    8. }
    9. if (!supported)
    10. return (feld.indexOf(".") > 2) && (feld.indexOf("@") > 0);
    11. var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
    12. var r2 =
    13. new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$");
    14. return (!r1.test(feld) && r2.test(feld));
    15. }
    16. function testEmail(str) {
    17. if (!isEmail(str)) {
    18. alert("Sie haben eine falsche eMail-Adresse eingegeben!\n Bitte korrigieren Sie Ihre Eingabe.");
    19. return false;
    20. } else {
    21. return true;
    22. }
    23. }
    Alles anzeigen


    die Funktionsweise soll sein: Klick auf Senden -> Prüfung -> bei Erfolg formular auswerten (mach ich mit php) -> bei Mißerfolg formular nicht auswerten und auch Zielseite nicht laden...

    Danke im voraus