2013-01-14 79 views
0

我有一个由某个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函数提交表单后触发。

+0

在我的想法,形式**提交**行动只是** subm它()**不接受任何其他参数或匿名函数,不是吗?所以我认为你不能写任何程序作为提交内容。 –

+0

上面的'submit'函数不是'form'对象的'submit'方法。它是'form.submit'的jquery事件处理函数。 –

+0

也许我不理解jQuery提交的行为。我不确定,但您可以参考[官方文档](http://api.jquery.com/submit/)获取更多信息,它表明'.submit()**不接受任何参数**。 '... submit(function()...'中没有参数,所以我认为事件对象可能是'this',而不是代码中的'event'。 –

回答