使用live()进行验证并通过ajax()提交

时间:2010-12-05 16:00:44

标签: javascript jquery

我在JQuery中有这个:

$("form").validate({  rules: {
            captcha: {
                required: true,
                remote: {
        url: "gb_include/captcha.php",
        type: "post"
          },
            }
        },
        messages: {
            captcha: "Correct captcha is required."
        }});
   $("form").submit(function(){

        if($(this).valid() == true){ /* submit via ajax */ }

但我需要.live(),因为表单是在$(document).ready()之后加载的,我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

为什么不在.load回调中执行上述代码?

见SOq:

有类似的要求。

答案 1 :(得分:1)

您可以创建在加载表单后运行的自定义事件。

$(document).bind('bindForm', function (e) {
    $("#form").validate({  rules: {
        captcha: {
            required: true,
            remote: {
    url: "gb_include/captcha.php",
    type: "post"
      },
        }
    },
    messages: {
        captcha: "Correct captcha is required."
    }});
    $("form").submit(function(){
        if($(this).valid() == true){ /* submit via ajax */ }
    });
});

在加载表单的代码后添加:

$(document).trigger('bindForm');