javascript オブジェクト値を使用して簡単なフォーム検証を実行しようとしています。「理想的」ではないことはわかっていますが、鉄壁である必要のないシンプルなフォームで作業しているだけです。
私のフィドルの例を見てください: http://jsfiddle.net/6dXd7/3/
各フォーム フィールドに値があることを確認しようとしています。その場合、 の値を に設定しmyObj.fieldID
ますyes
。
次に、フォームが送信されたら、既存のものをすべてチェックし、myObj.XXX
それらの値がすべて であることを確認しますyes
。
私の例では、オブジェクトの作成に問題があり、送信ボタンが押されたときにすべてのオブジェクトを名前で指定せずに循環する方法がわかりません。
上記にリンクされている jsfiddle の例のコードは次のとおりです。
<script>
$(document).ready(function () {
var myObj = {};
$("input.checkblank").blur(function () {
var inputID = $(this).attr("id");
var contents = $("input#" + inputID).val();
if (contents == "") {
$(myObj).data(inputID, "no");
} else {
$(myObj).data(inputID, "yes");
}
});
$("#verify").click(function () {
if (myObj.first && myObj.second == "yes") {
// ***** Trying to get it to scan through ALL existing myObj's and make sure all their values are "yes" *****
$('.results').text('all good');
} else {
$('.results').text('not good');
}
});
});
</script>
<input type="text" name="first" id="first" class="checkblank"><br />
<input type="text" name="second" id="second" class="checkblank">
<a href="#" id="verify">check</a><br />
<p class="results"> </p>
</p>