2012-04-17 8 views
0

私はコードを持っていますが、私はというメインクラスを使用していて、エラーボックスを配置しているのはtextareaですが、テキストボックスエラーをこの特定のボックスにロードするように設定します。jQuery 2つのクラスで検証エラーボックスを設定する

From a previous question私は以下のjQueryラインfunction(error, element) { error.appendTo(element.siblings("label")); }を与えられましたが、私は下のコードにどのように動作させるのか不明です。

のjQuery:

jQuery(document).ready(function() { 
    //Home Validation 
    onfocusout: true, 
    $("#quote").validate({ 
     rules:{ 
      companyName:{ 
       required: true, 
       url: true 
      } 
     } 
    }); 

HTML:

<div class="error textAreaError">Error Here</div>

+0

これは無効なコードです。 'onfocusout:true 'を単独で持つことはできません。これはプラグインのオプションのパラメータなので、他のオプションのパラメータと一緒に使用する必要があります。また、完全な答えについては、[あなたの他の質問に対する受け入れられた回答のコード**とコメント**](http://stackoverflow.com/a/10151646/594235)でさらに注意深く見てください。ヒント: 'errorPlacement:' – Sparky

答えて

1

検証プラグイン用documentationを見てから、あなたがエラーの位置を制御することができるように、それが見えますfunction(error、element)を使用するerrorPlacement引数です。コードは次のようになります。

jQuery(document).ready(function() { 
    //Home Validation 
    $("#quote").validate({ 
     onfocusout: true, 
     rules:{ 
      companyName:{ 
       required: true, 
       url: true 
      } 
     }, 
     errorPlacement: function(error, element) { 
      if (element.is("textarea")) 
       error.appendTo(".textAreaError"); 
      else 
       error.appendTo(".generalError"); 
     } 
    }); 
}); 

一般的なエラーボックスにはgeneralErrorクラスを指定する必要があります。または、エラーボックスにidを指定して代わりにそれらを参照してください(例: "#textAreaError"と "#generalError")。

+0

私はそれを見る方法は、主な問題は、その機能を適用する場所でした。しかし、私はとにかくコードサンプルに取り組んでいました... – Trax72

+0

彼は完全に[この回答のコメント]に含まれるコードの重要な部分を無視したので、OPはそれを見る必要があります(http://stackoverflow.com/a/10151646/ 594235)。 – Sparky

+0

どうすれば1つ以上のappendToを行うことができますか? .errorは一般的なエラーボックスとテキストエリア用の特殊なものです –

関連する問題