jquery验证:阻止表单提交

时间:2012-04-24 21:02:04

标签: jquery jquery-validate

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

这可以通过jquery验证吗?

4 个答案:

答案 0 :(得分:46)

您可以尝试此操作(Example):

$(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;
}

答案 1 :(得分:9)

是:

$("form").submit(function(event) {
    if (somethingIsInvalid) { 
      event.preventDefault();
    }
});

答案 2 :(得分:6)

有一个名为.valid()的方法,如果表单中没有错误,则返回true,因此您可以先使用此方法验证,然后在此处发送表单

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

答案 3 :(得分:3)

$("#form").validate({
  rules: {...},
  submitHandler: function(form, event) { 
    event.preventDefault();
    alert("Do some stuff...");
    //submit via ajax
  }
});