【发布时间】:2011-09-19 03:07:55
【问题描述】:
我正在尝试弄清楚如何使用 jquery 和 jquery 的验证插件进行动态表单验证。我对 jquery 和一般的 JS 相当陌生。
我已经弄清楚如何在单击提交时进行验证(使用 submitHandler)。但是我需要通过 ajax 发布,而不是本地方式。所以我需要防止默认,而我似乎无法做到。对我来说,原生方式是当您单击提交时,操作就会发生。我不希望发生该操作,因为我试图通过 $.ajax({...}); 进行操作。
如果我将验证放在 $('#form').live('click', function(e) {...}) 中,我现在可以通过 ajax 发布,但是验证不会发生。我已经在 $(document).ready(function() {...};.
如何在 live('click') 方法中验证动态表单?添加表单时,我尝试调用 validate() 。我通过单击一个对象来添加整个表单,并附加到一个子对象。
无论哪种方式(在 submitHandler 中,或通过使用 live('click'))我都可以,但我似乎无法弄清楚任何一种方式。
希望这是足够的信息,但如果不是,我很乐意提供更多信息。下面submitHandler的一个小sn-p。
$("#form-" + $(this).attr('id')).validate({
submitHandler: function(form) {
this.preventDefault();
// My ajax function below (submitForm);
submitForm(this);
alert('wee');
}
【问题讨论】:
-
好的,所以我解决了这个问题。我使用了错误的血腥对象...
code submitForm(this)应该是:code submitForm(form);之后我更改了验证行,并在验证行之前添加了一个附加行:code var form = "#form-" + $(this).attr('id'); $(form).validate({我的最终版本是:code var form = "#form-" + $(this).attr('id'); $(form).validate({ submitHandler: function(form) { //Only runs when valid submitForm(form); } });跨度>
标签: jquery validation forms dynamic jquery-validate