それは私か IE のどちらかですが、真実は form.valid() が IE で機能しないことです (Chrome/Firefox で機能します)。私は次のバージョンを使用しています:
- jquery1.8.3
- 検証プラグイン 1.11.1
必要に応じて 1 つのフィールドを持つ単純なフォームがあり、送信ボタンを押すと検証が起動し、ユーザーに値の入力を求めるプロンプトが表示され、このコードが「alert($(this).valid());」で起動されます。ユーザーが値を入力して送信ボタンをクリックすると、以下の jquery コードが実行されます。
$(function () {
$('form').submit(function () {
alert($(this).valid());
if ($(this).valid()) {
alert('Hello');
}
});
});
問題は、どのアラートも発生しないことです。私はここで何をしているのですか?検証プラグインのドキュメントを確認したところ、私が使用している jquery バージョンをサポートしていると書かれていますhttp://jqueryvalidation.org/
jQuery、1.6.4、1.7.2、1.8.3、1.9.0 でテスト済み
開発者ツールでは、エラーは表示されません
*編集***
このフォームには、タイプ file (ファイルのアップロード用) の入力があります。コメントする/表示しない場合は機能します。したがって、ファイル入力がある場合、送信ボタンなどを無効にできない場合、IEのセキュリティと関係があると思います。ちょうど私の2セント!!!