0

jQuery のドキュメントの検証デモに基づくフォームがあります: http://jsfiddle.net/ABbDS/1/。送信をクリックするか、Enter キーを押すと、それが検証されます。

タブ/マウスフォーカスの変更/タイピングも有効にするにはどうすればよいですか? (そのため、彼らはすぐにメールが

これは、http: //jquery.bassistance.de/validate/demo/milk/ (これを行う) およびhttp://docs.jquery.com/Plugins/Validation/に基づいています。

次の要素をクリックするか、タブを押すと、私のものは検証されません。私が見つけた回答は、validateプラグインを使用していませんでした。

編集:これは正しい答えですか?: https://stackoverflow.com/a/9381803/341744 $(this).valid() は validate() の関数を呼び出しますか?

4

2 に答える 2

3

onfocusout と onkeyup に関するjquery サイトのドキュメントは、少し誤解を招きます。onfocusout と onkeyup はブール値であると述べられているため、それらの値を true または false に設定できると思われます。違う!これらは false にのみ設定してください。それらの値をtrueに設定すると、このエラーが発生します

キャッチされていない TypeError: オブジェクト true にはメソッド 'call' がありません

これは、デフォルトの onfocusout と onkeyup がブール値ではなく関数であるためです。値を false に設定すると関数は呼び出されませんが、true に設定すると javascript エラーが発生します。このタイプのプログラミングは、強い型付けに慣れている私のようなプログラマーにとっては慣れるのが難しいですが、かなり巧妙です。

デフォルトの動作はフォーカスを失うことを検証することであるため、 onfocusout を true に設定する理由はありません。そのため、コードからこれらの 2 行を削除するだけです。

// remove these lines
// onfocusout:true,  
// onkeyup: true
于 2012-11-22T21:00:12.477 に答える
0

あなたがあなたを助けるかもしれないバリデーターオプションに加えることができるかなりの数のイベントがあります。

例:

onkeyup

キーアップで要素を検証します。フィールドが無効としてマークされていない限り、何も起こりません。それ以外の場合は、キーアップイベントごとにすべてのルールがチェックされます。

$(".selector").validate({
   onkeyup: true
});
于 2012-06-07T19:46:59.400 に答える