我有一個由某個php框架自動開發的表單。我想爲表單輸入添加自定義驗證,並在驗證失敗時防止提交表單。提交表單後調試ajax調用
要做到這一點,我寫了下面的腳本:
$("form.pods-form-pod-katilimci").submit(function(event){
telefon = $("form.pods-form-pod-katilimci #pods-form-ui-pods-field-oncelikli-telefon");
email = $("form.pods-form-pod-katilimci #pods-form-ui-pods-field-email");
if($.trim(telefon.val()).length == 0 && $.trim(email.val()).length == 0) {
alert("Size ulaşabilmemiz için eposta adresi veya telefon numaranızdan birisini mutlaka doldurmalısınız.");
event.preventDefault();
return false;
}
});
它可以正常工作。沒有問題。但提交表單會觸發一個自動的ajax調用,並且該調用會繞過我的驗證。因此,preventDefault()
不能阻止提交表單。
我想找出哪個JavaScript函數導致這種行爲使用Firebug。我查看了表單的html源代碼,但沒有提交evend觸發的函數的明確標記。由於這是一個Ajax調用,我無法弄清楚在Firebug中使用「Break on Next」提交表單後調用哪個函數。
的形式在這個頁面上:http://www.aep.gov.tr/kullanici-islemleri/uyelik-bilgileri/
我如何可以找出哪些JavaScript函數提交表單後觸發。
在我的想法,形式**提交**行動只是** subm它()**不接受任何其他參數或匿名函數,不是嗎?所以我認爲你不能寫任何程序作爲提交內容。 –
上面的'submit'函數不是'form'對象的'submit'方法。它是'form.submit'的jquery事件處理函數。 –
也許我不理解jQuery提交的行爲。我不確定,但您可以參考[官方文檔](http://api.jquery.com/submit/)獲取更多信息,它表明'.submit()**不接受任何參數**。 '... submit(function()...'中沒有參數,所以我認爲事件對象可能是'this',而不是代碼中的'event'。 –