2010-12-17 156 views
0
$("#submit-signin-button").click(function() { 
    if($.trim($("#foo").val()) === ""){ 
     $(".error-message-uname").show(); 
    } 
    if($.trim($("#bar").val()) === ""){ 
     $(".error-message-bar").show(); 
    } 

    return false; 

驗證是否正確?因爲在提交正確的表單後它不會將數據發佈到URL。jquery驗證錯誤

回答

2

問題是你總是從這裏返回false。當表單不應該發佈時,您應該只返回false。

基於您的修訂問題的非常基本的驗證系統。除非發生錯誤,否則最初設置爲true的變量(一切正常)。在表單驗證上返回true將導致表單提交。

$("#submit-signin-button").click(function() { 

    var isValid = true; 

    if(!$.trim($("#foo").val()){ 
    $(".error-message-uname").show(); 
    isValid = false; 
    } 
    if(!$.trim($("#bar").val())){ 
    $(".error-message-bar").show(); 
    isValid = false; 
    } 

    return isValid; 
} 

對於簡單的事情,這是完全正常的,但也有一些驗證的jQuery插件(like this one),你可以使用。

作爲一個提示(所以你知道),一個空字符串在JavaScript中被認爲是一個falsey值。所以你可以用!$.trim($("#bar").val()替換$.trim($("#bar").val() === ""

+0

如果有另一個字段進行驗證,該怎麼辦?我已經更新了這個問題。 – user426795 2010-12-17 08:37:03