基本的なフォーム検証スクリプトを作成しましたが、ユーザーが必須フィールドに入力しなかった場合に発生するエラーをリセットしようとしています。
error
チェックボックスとラジオボタンについては、ラベルにクラスを追加しました。このためのHTMLコードは次のようになります。
<input class="required" id="Example31" name="Example3" type="checkbox" />
<label for="Example31" class="error">Example Input 3 Option 1</label>
<input class="required" id="Example32" name="Example3" type="checkbox" />
<label for="Example32" class="error">Example Input 3 Option 2</label>
<input class="required" id="Example4" name="Example4" type="radio" />
<label for="Example4" class="error">Example Input 4</label>
エラーを追加するには、次のスクリプトを使用して、同じ名前のチェックボックスがオンになっているかどうかを確認します。
$("input.required").each(function() {
// check checkboxes and radio buttons
if ($(this).is(":checkbox") || $(this).is(":radio")) {
var inputName = $(this).attr("name");
if (!$("input[name=" + inputName + "]").is(":checked")) {
var inputId = $(this).attr("id");
$("label[for=" + inputId + "]").addClass("error");
error = true;
};
};
// end checkboxes and radio buttons
});
HTMLを変更せずにエラーを削除するにはどうすればよいですか?私は完全な空白を描いています。これが私が考えていることです:
- エラーのある各ラベルに関連付けられている名前を把握する
- そのIDを持つチェックボックスまたはラジオボタンを見つけます
- チェックボックスまたはラジオボタンの名前を把握する
- 同じ名前の残りのチェックボックスまたはラジオボタンを検索します
- それらの入力IDを見つけます
- それらの名前のラベルを検索する
- それらのラベルからエラーをクリアします
しかし、私は途方に暮れています。誰かが助けることができれば、それは大いにありがたいです。