35

通过使用 jQuery 插件验证,我正在尝试验证我的表单。当验证通过时,我希望 javascript 使用表单中的值触发然后停止。浏览到新的/相同的站点时没有实际的表单提交。

这可能与 jquery 验证?

4

4 回答 4

57

你可以试试这个(例子):

$(function(){
    $("#myform").validate();    
    $("#myform").on('submit', function(e) {
        var isvalid = $("#myform").valid();
        if (isvalid) {
            e.preventDefault();
            alert(getvalues("myform"));
        }
    });
});

function getvalues(f)
{
    var form=$("#"+f);
    var str='';
    $("input:not('input:submit')", form).each(function(i){
        str+='\n'+$(this).prop('name')+': '+$(this).val();
    });
    return str;
}
于 2012-04-24T21:46:49.370 回答
12

是的:

$("form").submit(function(event) {
    if (somethingIsInvalid) { 
      event.preventDefault();
    }
});
于 2012-04-24T21:04:03.040 回答
12
$("#form").validate({
  rules: {...},
  submitHandler: function(form, event) { 
    event.preventDefault();
    alert("Do some stuff...");
    //submit via ajax
  }
});
于 2018-02-23T09:40:17.350 回答
6

有一个名为 .valid() 的方法在表单中没有错误的情况下返回 true,因此您可以先使用它进行验证,然后将表单发送到此处的文档

http://docs.jquery.com/Plugins/Validation/valid

于 2012-04-24T21:05:19.593 回答