我有一个由某些php框架自动开发的表单。我想为表单输入添加自定义验证,并在验证失败时阻止提交表单。
为此,我编写了以下脚本:
$("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 :(得分:0)
您可以尝试使用jquery验证插件:
http://bassistance.de/jquery-plugins/jquery-plugin-validation/
$('#yourformId').validate({
rules:{
telefon:{
required:true
},
email:{
required:true
}
}
});
然后使用ajax-form插件: http://malsup.com/jquery/form/
这段代码:
$('#yourformId').ajaxForm({
succes:function(response){
(your code needed for another ajax call)
}
});