簡単なことですが、なぜこれが機能しないのでしょうか...? jQuery 1.6.2 は、この上の head にも含まれています。検証をトリガーしていません。フィールドを検証することさえせずに、まっすぐ進み、「送信済み」と表示されます。
頭の中の検証:
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.min.js" type="text/javascript"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/additional-methods.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#newcontract").validate({
rules: {
rec_name: {
required: true
}
},
messages: {
rec_name: {
required: 'You need to enter a contract receiver.'
}
},
submitHandler: function() {
alert("Submitted!"); }
});
});
</script>
フォームは newcontract という名前なので、何が欠けていますか:
<form name="newcontract" id="newcontract" method="post">
<input type="text" name="rec_name" id="rec_name" size="42" class="required"/>
<tr><td class="submit" colspan="3"><input type="submit" name="savelisting" id="savelisting" value="Save New Contract" /></td></tr>
</form>
どうしたの?このテキスト フィールドは検証されません。ヘルプ!!
更新: 上記のコードは期待どおりに機能します。問題は、フォームをラップしていたテーブルを削除したことと、検証プラグインがフォームをスキップしていたことにありました。HTML でフォームをテーブルの外に移動するとすぐに、正常に機能しました。