2010-12-17 130 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