2011-07-12 9 views
0

フォーム提出時に検証エラーが発生した場合、jquery検証プラグインがクラス「エラー」を持つdivタグを生成するフォームがあります。そのようなdivが存在する場合は、フォームの上に追加のエラーメッセージを表示したいと思います。このメッセージは、そのように保存されています。他の要素の存在に基づいてjQueryで物を非表示にする方法は?

<p class="topError">Oops errors found!</p> 

<form id="myForm"> 

// blah blah 

</form> 

エラーのdivは、プラグインによって生成されなかった場合、私のようなものだろう。また、私はこの問題を解決することができますどのようにこのような状況では

if (('#myForm div.error').length() > 0) { 
    $('p.topError').show(); 
} 

をし、Iフォームにエラーdivがない瞬間をなくすためには、トップエラーが必要です。

答えて

1
if ($('#myForm div.error').length > 0) { 
    $('p.topError').show(); 
} 
else { 
    $('p.topError').hide(); 
} 
0

正確に何をしているかによって、プラグインのshowErrorsコールバックが役立つ場合があります。プラグインにバインドするイベントがないように、フォームイベントをバインドして、それに基づいてdiv.errorチェックを実行できます。

$("#myForm input").bind("blur",function(){ 
    if (('#myForm div.error').length() > 0) { 
     $('p.topError').show(); 
    } else { 
     $('p.topError').hide(); 
    } 
}) 
関連する問題