加载不同内容后,jquery工具验证重新绑定

时间:2011-08-04 16:38:11

标签: javascript jquery ajax bind

我正在使用jquery工具验证插件进行客户端表单验证。 我有一个javascript文件,可以在下面加载以下功能。

我正在做的是,我正在加载表格,当成功验证并提交时, 我加载另一个表单,并希望下面的函数处理任何正在加载的表单 在if(json.success&& json.next)语句块中。

由于某种原因,当加载第二个表单时,验证程序不会被重新绑定到 新表单的类(.signup_form),并且不会进行验证。

任何想法如何我可以附加一个$ .live或任何东西,所以它会自动重新绑定到成功后加载.signup_form类的任何形式?

/* For clarification: json.next is the url of the next form to load */

$(".signup_form").validator({
position: 'top left', 
offset: [-12, 0],
message: '<div><em/></div>' // em element is the arrow
}).submit(function(e) {

  var form = $(this);

  // client-side validation OK.
  if(!e.isDefaultPrevented()) {

    // submit with AJAX
    $.post(form.attr('action'), form.serialize(), function(json) {

      // everything is ok. (server returned true)
      if (json.success && json.next)  {
        form.parent().parent().load(json.next); // Slide here
        form.reset();

      // server-side validation failed. use invalidate() to show errors
      } else {
        form.data("validator").invalidate(json);
      }
    }, "json");

    // prevent default form submission logic
    e.preventDefault();

  }
});

非常感谢任何帮助。 Ť

好的,我想通了...... geez非常明显。

所以我上面的所有代码都在

form_listener = function() {}

块。

现在我需要做的就是在加载新表单后调用表单监听器:

.
.
      // everything is ok. (server returned true)
      if (json.success && json.next)  {
        form.parent().parent().load(json.next, function(){
        form_listener();
      });

.
.

甜。

0 个答案:

没有答案