私は新しいスタックオーバーフローであり、最初にすべての貢献者に感謝したいと思います。これは非常に役立つリソースであり、私はあなたから多くのことを学びました. ありがとうございました。
私はjqueryの検証に取り組んでいますが、実際に私が結び目に縛られている問題に遭遇しました。コードを非常に基本的なものに減らしましたが、まだ問題を解決できません。必要なルールとリモートの mockjax 呼び出しを使用して入力を検証しようとしています。jquery の「Milk」デモをガイドとして使用しています。「Milk」デモは想定どおりに動作しますが、私のコードは動作しません。入力ボックスに任意の文字セットを入力すると、必要なルールまたはリモートの mockjax 呼び出しによって入力が検証されません。既存の入力を変更せずにもう一度入力にカーソルを置き、タブまたはリターン キーを押すと、値が検証されます。
私のコードは次のとおりです。
$(document).ready(function()
{
$.mockjax(
{
url: "test.action",
response: function(settings)
{
this.responseText = "true";
},
responseTime: 500
});
var validator = $("#myForm").validate(
{
rules:
{
FacilityID:
{
required: true,
remote: "test.action"
}
},
messages:
{
FacilityID:
{
required: "Enter Facility ID",
remote: jQuery.format("{0} Facility ID NOT found")
}
},
// specifying a submitHandler prevents the default submit, good for the demo
submitHandler: function()
{
alert("submitted!");
},
// set this class to error-labels to indicate valid fields
success: function(label)
{
// set as text for IE
label.html(" ").addClass("checked");
},
highlight: function(element, errorClass)
{
$(element).parent().next().find("." + errorClass).removeClass("checked");
}
});
});
</script>
<section id="main">
<div id="myFormWrap">
<h2>Step 2: Enter Facility Data</h2>
<form id="myForm" autocomplete="off" action="next.php">
<label for="FacilityID">Facility ID</label>
<input id="FacilityID" name="FacilityID" type="text" value="" maxlength="12" />
<label class="status" for="FacilityID"></label>
<button class="button18" onClick="javascript:StartOver()">Start Over</button>
</form>
</div>
</section>
ここをクリックして JSFiddle に移動し、上記のコードをテストします。
リモート呼び出しのルールを削除すると、必要なルールは正常に機能します。ここで jquery の投稿の多くを調べましたが、まだ答えが見つかりません。もちろん、mockjax は不完全ですが、非常に基本的な要件に到達し、そこから構築したいと考えています。私が欠けているものを学んでいただければ幸いです。
ミズーリ