テキストを入力して次のフォームにタブで移動しない限り、以下のフォーム検証に応答することができません。別のフィールドをクリックしたり、送信を押したりしても何も起こりません。すべてのシナリオで応答するようにしたいと思います。正直なところ、クラスの有効化または無効化よりも複雑なことにjqueryを使用したのはこれが初めてなので、おそらくどこかで基本的なエラーを犯しています。しかし、それが何であるかはわかりません。
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.min.js"></script>
<script type="text/javascript">
//form validation
$(document).ready(function() {
$("#form").validate({
rules: {
organization: {
required: true,
minlength: 2,
},
firstname: {
required: true,
minlength: 2,
},
lastname: {
required: true,
minlength: 2,
},
email: {
required: true,
email: true,
},
phone: {
required: true,
minlength: 10,
number: true,
},
},
messages: {
organization: "Please enter a valid organization name",
firstname: "Please enter your first name",
lastname: "Please enter your last name",
email: "Please enter a valid email address",
phone: "Please enter a valid phone number",
},
});
});
</script>
</head>
<body>
<div id="form_container">
<div id="form_title">REQUEST INFO</div>
<form id="form" name="form_container" action="#">
<!-- fields -->
<input id="organization" type="text" name="organization" minlength="2" />
<input id="firstname" type="text" name="firstname" minlength="2" />
<input id="lastname" type="text" name="lastname" minlength="2" />
<input id="email" type="text" name="email" />
<input id="phone" type="text" name="phone" />
<!-- submit button -->
<input type="button" id="button" name="submit" type="submit" value="submit" >
</form>
</div>
</body>
</html>