2009-09-25 71 views
2

我使用jQuery.validate()在提交之前驗證我的形式。 現在我正在使用Ajax提交表單,我遇到了問題。需要jQuery.validate防止Ajax的表單提交

注:我不使用jQuery表單插件。只是,這樣顯然:)

的jQuery.validate()被解僱,但也執行表單提交。

我不想被提交表單,直到驗證是否正常。任何神的建議,我怎麼能做到這一點?

UPDATE

我找到了答案。我不得不使用submitHandler。現在我的表單只有在所有必填字段都是正確填充的情況下才會提交。

和方法如下:

if(jQuery('#my_form').length > 0) { 
    jQuery("#my_form").validate({ 
    rules: { 
     brand_name: "required", 
     brand_email: {email: true }, 
     brand_description: "required" 
    }, 
     submitHandler: function() { processRegistration(jQuery("#my_form").attr("id"), jQuery("#my_form").serialize()); } 
    }); 


} 

回答

1
jQuery('#registrationforms form').submit(function() { 
    if (processRegistration(jQuery(this).attr("id"), jQuery(this).serialize())) { 
    // do ajax thing 
    }; 
    return false; 
}); 
+0

所以我應該把我的jQuery( 「#store_data_form」)驗證()這裏面?因爲這根本不起作用。 – Steven 2009-09-25 09:03:44

+0

processRegistration()返回什麼?它應該返回validate()的結果(我假設爲true或false)。 – Eimantas 2009-09-25 09:15:21

+0

你可以看到processRegistration()她:http://stackoverflow.com/questions/1468605/jquery-dialog-box-not-opening-2nd-time – Steven 2009-09-25 09:32:31