簡體   English   中英

jQuery驗證+通過$ .post提交

[英]jQuery Validation + Submit via $.post

你好!

我的問題如下

驗證插件對我來說很好,除了我不希望表單在它仍然有效時提交。

事實是,它驗證並顯示錯誤,但即使它無效也會提交。


驗證

 $("form#form-utilizadores").validate({ rules:{ nome:{ required:true }, utilizador:{ required:true }, password:{ required:true }, tipo:{ required:true } } }); 


提交

 $('form#form-utilizadores').submit(function(e){ e.preventDefault(); var data = $(this).serialize(); $.post('submit/submit-utilizadores.php',data,function(data){ alert((data=='sucesso') ? 'Adicionado com sucesso!' : data); top.location.reload(); } ); }); 

感謝您花時間來幫助我! :)

您應該將您擁有的代碼放在$('form#form-utilizadores').submit()並將其放在jQuery驗證設置的submitHandler參數中,試試這個:

$("form#form-utilizadores").validate({
    rules: {
        // your current rules...
    },
    submitHandler: function(form) {
        var data = $(form).serialize();
        $.post(    
            'submit/submit-utilizadores.php',
            data,
            function(data) {
                alert((data=='sucesso') ? 'Adicionado com sucesso!' : data);
                top.location.reload();
            }
        );
    }
});

始終提交當前代碼的原因是因為無論表單是否有效,始終會引發表單submit事件。 通過submitHandler讓jQuery驗證是否發布表單,具體取決於它的有效性。

嘗試在提交處理程序中添加此代碼:

$('form#form-utilizadores').submit(function(e){
    e.preventDefault();
    if($(this).valid() == false){
        return;
    }
    .
    .
    .

如果驗證失敗,則從提交返回false。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM