web-dev-qa-db-ja.com

jquery検証:フォーム送信を禁止

JQueryプラグイン検証を使用して、フォームを検証しようとしています。検証に合格したら、フォームの値を使用してjavascriptを起動し、停止します。新しい/同じサイトを閲覧する実際のフォーム送信はありません。

これはjquery検証で可能ですか?

26
alex

これを試すことができます( ):

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

はい:

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

フォームにエラーがない場合にtrueを返す.valid()と呼ばれるメソッドがあるので、最初にこれで検証し、次にフォームを送信できます

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

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