2

フォームがまだ作成されていない場合に(デモから)このコードを使用する方法:

jQuery("#form").validate({
  submitHandler: function(form) {
    jQuery(form).ajaxSubmit({
      target: "#result"
    });
  }
});

動作しない1つの方法は、次のon('click',ように検証を呼び出すことです。

$(document.body).on('click', '.submitBtn', function(){
   var $form =$('form'+this.id);
       $form.validate({
         submitHandler: function($form) {
           $form.ajaxSubmit({
             target: "#result"
           });
         }
       });
});

助言がありますか?

4

2 に答える 2

8

jQuery("#form").validate().form()フォームを作成 してから使ってみてください。http://docs.jquery.com/Plugins/Validation/Validator/form

$(document.body).on('click', '.submitBtn', function(){
   var $form =$('#form'+this.id);
       $form.validate({
         submitHandler: function($form) {
           $($form).ajaxSubmit({  //need to properly refer to jQuery object
             target: "#result"
           });
         }
       }).form();
});
于 2012-06-08T16:39:24.130 に答える
0

同様の質問に対するこの回答は、あなたを大いに助けることができると思いますhttps://stackoverflow.com/a/4359915/351366

コードをより具体的にするためのショットを次に示します

フォームがページに表示されると発生するカスタム イベントを作成する

$(document).bind('bindForm', function (e) {
    jQuery("#form").validate({
        submitHandler: function(form) {
          jQuery(form).ajaxSubmit({
             target: "#result"
          });
        }
    });
});

次に、フォームがロードされたら、カスタム イベントをトリガーします。

$(document).trigger('bindForm'); //trigger our validate form

フォームが別の関数で有効かどうかを確認したい場合

$(".submitBtn").live("click",function() {
    if (!$("#form").validate().form()) {
        return;
    }
});
于 2012-06-08T17:35:57.100 に答える