2

我正在使用 JQuery 验证插件来验证我的应用程序中的表单。当按钮是“提交”类型时,它工作得很好。但是,我有一种表单,我需要使用 JQuery.Ajax 提交数据,因此我使用的是 simple <input type='button'>. 但随后验证将不起作用。这是工作代码-

<head>
<script>
 $(document).ready(function(){
   $("#some_form").validate({});  
 }); 
</script>
</head>
<body>
<form name='some_form' id='some_form'>
<!--  Form Fields -->
<input type='submit' value='Submit'>
</form>
</body>

上面的代码有效,但是,当我把它放在代码中时<input type='button' value='Submit'>,它就不起作用了。

有谁知道如何让它工作?

4

2 回答 2

1

AFAIK,jQuery 验证插件设计为仅在触发提交时工作;因此,当您在输入元素上有“按钮”类型时,表单实际上并没有提交,因此验证永远不会运行。您是否有不想使用“提交”类型的原因?

编辑地址注释:要使用 ajax,但仍有“提交”按钮类型,请使用插件参数的“提交处理程序”选项......像这样:

$("#some_form").validate({
        submitHandler: function(form) {
         ... ajax stuff here ...
    }
});

这将覆盖表单的实际发布,但仍会触发提交事件,以便运行验证。

于 2012-04-25T07:07:51.440 回答
1

好的!我想我找到了答案。所以我把它贴在这里以防有人需要。这是代码

<head>
<script src="jquery.js" type="text/javascript"></script>
<script src="jquery.validate.js" type="text/javascript"></script>
<script>
$(document).ready(function(){
  $('#button_id').click( function() {
    if ($("#some_form").validate().form() == true)
        {
            // Call Ajax Here
        }
  });  
});  
</script>
</head>
<body>
<form name='some_form' id='some_form'>
<!--  Form Fields -->
<input type='button' id='button_id' value='Submit'>
</form>
</body>
于 2012-04-25T07:21:24.960 回答