• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Leerzeichen im Formular vermeiden

dazzle89

Neues Mitglied
Hallo,

ich habe festgestellt, dass man mein Formular auch abschicken kann, wenn man in jedem Feld einfach nur ein Leerzeichen einträgt. Das würde ich gerne verhindern. Vermutlich muss ich mit trim arbeiten, oder? Ich bin aber grad irgendwie zu blöd und weiß nicht wo genau ich das einbauen müsste... Bisher wird halt nur geprüft ob die Felder komplett leer sind, was bei einem Leerzeichen ja leider nicht mehr der Fall ist.

Ich hoffe ihr könnt mir weiterhelfen.

Hier das Skript:

Code:
    function checkValidEmailAddress(emailAddress) {
        var pattern = new RegExp(/^(("[\w-+\s]+")|([\w-+]+(?:\.[\w-+]+)*)|("[\w-+\s]+")([\w-+]+(?:\.[\w-+]+)*))(@((?:[\w-+]+\.)*\w[\w-+]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][\d]\.|1[\d]{2}\.|[\d]{1,2}\.))((25[0-5]|2[0-4][\d]|1[\d]{2}|[\d]{1,2})\.){2}(25[0-5]|2[0-4][\d]|1[\d]{2}|[\d]{1,2})\]?$)/i);
        return pattern.test(emailAddress);
    };

var mailsendstatus;
function userSendMailStatus(uname, uphone, uemail, unachricht, ucaptcha) {

    // Name überprüfen
    if(!uname) {
        $(".error.name").fadeIn('slow');
    }
    else if(uname.length > 0) {
        $(".error.name").fadeOut('slow');     
    }
 
    // Telefon überprüfen
    if(!uphone) {
        $(".error.phone").fadeIn('slow');
    }
    else if(uphone.length > 0) {
        $(".error.phone").fadeOut('slow');     
    }
 
    // E-Mail überprüfen
    if(!checkValidEmailAddress(uemail)) {
        $(".error.email").fadeIn('slow');
    }
    else if(checkValidEmailAddress(uemail)) {
        $(".error.email").fadeOut('slow'); 
    }
 
    // Nachrich überprüfen
    if(!unachricht) {
        $(".error.nachricht").fadeIn('slow');
    }
    else if(unachricht.length > 0) {
        $(".error.nachricht").fadeOut('slow');
    }
 
    // Captcha überprüfen
    $.ajax(
        {
            type: 'POST',
            url: 'captcha_check.php',
            data: $("#contact").serialize(),
            success: function(data) {
                if(data == "false") {
                    mailsendstatus = false;
                    $(".error.captcha").fadeIn('slow');
                }
                else if(data == "true"){
                    $(".error.captcha").fadeOut('slow');
                 
                    if(uname.length > 0 && unachricht.length > 0 && checkValidEmailAddress(uemail)) {
                        mailsendstatus = true;
                     
                        $("#submit-wrapper").html('<img src="contact/load.gif" class="load" alt="loading...">');

                        $.ajax(
                            {
                                type: 'POST',
                                url: 'contact/sendmail.php',
                                data: $("#contact").serialize(),
                                success: function(data) {
                                    if(data == "") {
                                        $("#contactwrapper").slideUp(650, function(){
                                            $(this).before("<?php echo $successMessage; ?>");
                                        });
                                    }
                                }
                            }
                        ); // close sending email ajax call 
                    } // close if logic for mailsendstatus true
                } // close check CAPTCHA return true
            } // close ajax success callback function
        } // close ajax bracket open
    );
 
    return mailsendstatus;
}

$(document).ready(function(){
    $("#contact").submit(function() { return false; });

    $("#submit").bind("click", function(e){
        var usercaptvalue     = $("#captchavalue").val();
        var subnamevalue      = $("#name").val();
        var phonevalue          = $("#phone").val();
        var emailvalue        = $("#email").val();
        var msgvalue             = $("#nachricht").val();
         
        var postchecks = userSendMailStatus(subnamevalue, phonevalue, emailvalue, msgvalue, usercaptvalue);
    });
});

Danke im Voraus.
 
Zuletzt bearbeitet:
Werbung:
Da war ich wohl wieder zu schnell, ich habe es nun selbst hinbekommen indem ich vor jeder Überprüfung auf die Länge die Leerzeichen entfernt habe. Beispiel:

Code:
    // Name überprüfen
    uname = uname.trim();
    if(!uname) {
        $(".error.name").fadeIn('slow');
    }
    else if(uname.length > 0) {
        $(".error.name").fadeOut('slow');       
    }
 
Zurück
Oben