2011-07-27 8 views
1

私はvalidateプラグインをたくさん使っています。 私の現在の設定は、フィールドを含む修正済みの "閉じた"ボックスです。 私は何をしたいのですか?ボックスに記入されていない必須フィールドが含まれている場合、ボックスは提出しようとして開きます。jquery validate()issue

これは私のコードです:

$("#ftblSubGroupsadd").validate({ 
    invalidHandler: function(form, validator) { 
     alert('Note, a few mandatory fields remain un-answered. You may have to open some closed boxes'); 
     $("label.error").closest("div[class=inside]").css("display","block"); 
     $("label.error").closest("div.boxed").removeClass().addClass('box'); 
    } 
    }); 

hereはオンラインデモです。

奇妙なことは、初めてサブキットを試してみると、警告()が表示されます。 あなたはすぐにもう一度submitをクリックしますか?alert()を取得してから、open/show code関数を実行し、ボックスを開きます。

誰かが私になぜこれが当てはまるのでしょうか?

ありがとうございました!

+0

エラーの場合に停止する必要がある 'error'クラスも削除する' .removeClass() 'を使用しないでください。代わりに '.removeClass(validClass).addClass(errorClass); 'を使用してください。 – diEcho

答えて

1

OK、誰かが別のリストに私を助けて、このコードが動作しているようです:

$("#ftblSubGroupsadd").validate({ 
    showErrors: function(){ 
     this.defaultShowErrors(); 
     //alert('Note, a few mandatory fields remain un-answered. You may have to open some closed boxes'); 
     $("label.error").closest("div[class=inside]").css("display","block"); 
     $("label.error").closest("div.boxed").removeClass().addClass('box'); 
    } 
    }); 
3

私は問題は、あなたのコードが実行された後にクラスlabel.errorが追加されたことだと思います。なぜなら、初めて正しく実行されなかった理由と、

EDIT - 私は解決策を見つけた(と思う):フィドルで

$("#ftblSubGroupsadd").validate({ 
    invalidHandler: function(form, validator) { 
     alert('Note, a few mandatory fields remain un-answered. You may have to open some closed boxes'); 
     $.each(validator.currentElements, function(i, el){ 
      if(! validator.element(el)){ 
       $(el).closest("div[class=inside]").css("display", "block"); 
       $(el).closest("div.boxed").removeClass().addClass('box'); 
      } 
     }); 

    } 
}); 

はルック:http://jsfiddle.net/nicolapeluchetti/3Vw4y/4/

+0

mmm ...面白いNicola。 私はこれを克服するために使用できるlive()メソッドのいくつかの種類はありますか? – kneidels

+0

明日の朝にjsfiddle.netにコードを投稿すれば、私はモバイルになっています!:) –

+0

ありがとう、ありがたいです。その最初の投稿は、うまくいけば、うまくいきました。 URL:http://jsfiddle.net/kneidels/3Vw4y/2/ – kneidels