Jquery表单验证

时间:2011-09-22 01:08:17

标签: jquery forms

我正在使用此脚本来查看用户是否已将任何输入保留为无效的客户端。

$('#login_submit').click(function() {

var login_email = $('#login_email').val();
var login_password = $('login_password').val();

if (login_email.length == 0) {

    $('#login_email').css('background', 'red');
}

if (login_password.length == 0) {

    $('#login_password').css('background', 'red');
}
});

我无法解决的一件事是如何停止提交表单。我尝试过返回false; ,但这会使输入字段背景只是闪烁红色。

此致

3 个答案:

答案 0 :(得分:1)

<input type="submit" onsubmit="return submitValidate()" />

并将您的JS更改为:

function submitValidate() {
var login_email = $('#login_email').val();
var login_password = $('login_password').val();
var submit = true;

if (login_email.length == 0) {
   submit = false;
   $('#login_email').css('background', 'red');
}

if (login_password.length == 0) {
   submit = false;
   $('#login_password').css('background', 'red');
}
return submit;
}

答案 1 :(得分:1)

$('#your-form-id').submit(function() {

    var errors = 0;
    var login_email = $('#login_email').val();
    var login_password = $('login_password').val();

    if (login_email.length == 0) {
       $('#login_email').css('background', 'red');
       errors++;
     }

    if (login_password.length == 0) {
        $('#login_password').css('background', 'red');
        errors++;
     }

   return errors ? false : true;
});

小提琴演示:http://jsfiddle.net/xjNut/

请确保表单中没有input name="submit"。所有其他属性都可以在输入中使用。

答案 2 :(得分:0)

您的问题很可能是因为您使用的是提交按钮:     &lt; input type =“submit”... /&gt;

您需要将其更改为常规按钮:     &lt; input type =“button”... /&gt;

然后在您的函数中,您需要在代码有效时提交表单:     $( '#formId')提交();