2012-10-26 60 views
0
$('form').on('submit', function(e) { 
    e.preventDefault(); 
    if(!$(this).valid()) { 
     $(this).find(".dialogErrorMessageArea").show(); 
    } else { 
     $(this).submit(); 
    } 
}); 

我試圖讓我的自定義錯誤消息區域可見,如果窗體無效。 但是,else分支現在可以返回到此處理程序並從不提交。如何在其他分支提交表單?或者這種方法錯了,如何正確地做到這一點?提交事件的jquery表單驗證觸發另一輪

+0

把你e.preventDefault();在真正的分支中,所以它不會影響else分支。 –

回答

1

試試這個:

$('form').on('submit', function(e) { 
    if(!$(this).valid()) { 
    $(this).find(".dialogErrorMessageArea").show(); 
    e.preventDefault(); 
    } 
}); 

以上簡單一點:

$('form').submit(function(e) { 
    if(!$(this).valid()) { 
    $(this).find(".dialogErrorMessageArea").show(); 
    e.preventDefault(); 
    } 
}); 
+0

很好,它的工作,謝謝! – RootNode

0

使用表單屬性只需提交表單:

$('form').on('submit', function(e) { 
    e.preventDefault(); 
    if(!$(this).valid()) { 
     $(this).find(".dialogErrorMessageArea").show(); 
    } else { 
     $("form").submit(); 
    } 
});