我正在试图弄清楚如何使用jquery和jquery的验证插件进行动态表单验证。我对jquery和JS一般都很新。
我已经弄清楚当我点击提交(使用submitHandler)时如何进行验证。但是我需要通过ajax发布POST,而不是本机方式。所以我需要防止默认,我似乎无法做到。对我来说,本地方式是当您单击“提交”时,将执行操作。我不希望这个动作发生,因为我试图通过$ .ajax({...});.
如果我将验证放在$('#form')。live('click',function(e){...})中,我现在可以通过ajax发布,但不会进行验证。我在$(document).ready(function(){...};。
中有所有内容如何在live('click')方法中验证动态表单?我在添加表单时尝试调用validate()。我通过单击对象添加整个表单,并附加到子对象。
无论哪种方式(在submitHandler中,或者通过使用live('click'))都很好,但我似乎无法弄明白。
希望这些信息足够,但如果没有,我会很乐意提供更多信息。下面的submitHandler的一小段。
$("#form-" + $(this).attr('id')).validate({
submitHandler: function(form) {
this.preventDefault();
// My ajax function below (submitForm);
submitForm(this);
alert('wee');
}
答案 0 :(得分:2)
您没有正确使用submitHandler。试试这个:
$("#myform").validate({
submitHandler: function(form) {
form.submit();
}
});
然后覆盖表单的提交函数:
$('#myform').submit(function() {
$.post(url, $(this).serialize(), function(response) {
//do something with the AJAX response
});
return false;
});
返回虚假;最后将阻止默认表单提交。
答案 1 :(得分:0)