0

我正在使用 jquery 验证最初隐藏的表单,但即使字段为空,表单也会提交

$(document).ready(function () {

    jQuery("#name").validate({
        expression: "if (VAL) return true; else return false;",
        message: "* Please enter name"
    });

});

我这样做是为了表单的 ajax 提交。

    $("#send").click(function (e) {
        e.preventDefault();
       var name = $('#name').val();
    $.ajax({

        // ajax submition 
       )};
});
4

1 回答 1

1

试试这个......并使用<form>id 代替验证功能。

$(document).ready(function () {
    jQuery("#formid").validate({
        ignore:'',
        rules:{
            name:{
                required:true
            }
        },
        messages:{
            name:{
                required:'* Please enter name'
            }
        }
    });
});

我认为您使用的是较新版本的 jQuery 验证器插件,默认情况下会忽略隐藏元素。

在回复您更新的问题时,您可以这样做

$("#send").click(function (e) {
    e.preventDefault();
    var name = $('#name').val();

   if(name.length > 0){ //if length is greater than 0 then only fire ajax else show the error
       $.ajax({

        // ajax submition 
       )};
   }else
       //show error
       alert('Name not found');
   }
}
于 2012-12-25T12:29:58.533 回答