2
我試圖使用html5驗證和ajax。啓動瀏覽器的驗證和錯誤消息,但未提交
checkValidity方法不能解決我的問題,因爲它不會在UI中顯示消息錯誤。
我需要使用js啓動瀏覽器驗證(並顯示錯誤消息)。要做到這一點,我發現我必須提交表格並阻止事件發生。即:
$('form#x').submit(function(e){
e.preventDefault();
// ajax code
});
這工作正常,只有在所有表格文件都有效時才執行ajax代碼。但是,我意識到,一旦表單有效,ajax代碼是,其執行次數與點擊提交按鈕的次數相同。 WTF?
我可以通過使用一個全局標誌解決這個問題:
flah = 0;
$form.submit(function(e){
e.preventDefault();
if(flag) return;
flag = 1;
//send x ajax
// in ajax callback >> flag = 0
});
是否有任何其他的方法來啓動,而不提交驗證? 事件觸發器問題是瀏覽器錯誤,還是我的代碼中存在問題?
感謝