私はこれに何時間も費やしましたが、なぜこの jquery validate() が機能しないのかわかりません。私は最終的にそれを最小限に抑えましたが、それでも機能しません。これは実際のコードです:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="jquery-1.8.2.min.js"></script>
<script type="text/javascript" src="jquery.validate.min.js"></script>
<script>
$(document).on("click", "#submit", function() {
$("#form").validate({
rules: {
input: { required: true}
},
messages: {
input: { required: "required" }
},
ignore: "",
errorClass: 'fieldError',
onkeyup: false,
onblur: false,
errorElement:'label',
submitHandler: function() {
alert("alert");
}
});
return false;
});
</script>
</head>
<body>
<form id="form">
<input type="text" value="" name="input" id="input" />
</form>
<a href="#" id="submit">submit</a>
</body>
</html>
ここで明らかな何かが欠けていますか?「送信」をクリックしてもエラーは発生せず、何も起こりません。
更新:「クリック」イベントの外にある validate() をドキュメントの「準備完了」イベントに移動しました。ドキュメントが読み込まれると、コンソールに「何も選択されていません。検証できません。何も返されません」というメッセージが出力されます。明らかに動作させたい方法ではないので、クリックイベントに添付するにはどうすればよいですか?
更新 2: @NXT のおかげで、最終的に検証を実行しましたが、「submitHandler」はまだ機能しておらず、ページをリロードせずにフォームを送信する必要があるため、それを使用して Ajax 呼び出しを行う必要があります。