jQueryでフォームクリア
jQueryでフォームフィールドをクリアする方法
jQueryを使ってHTMLフォームのフィールドをクリアする方法について説明します。
基本的な方法
- セレクタを使って、クリアしたいフィールドを指定します。
- **.val("")**メソッドを使って、フィールドの値を空文字列に設定します。
$(document).ready(function() {
$("#myForm").submit(function(event) {
event.preventDefault(); // フォームのデフォルトの送信を阻止
// すべてのテキストフィールドをクリア
$("input[type='text']").val("");
// すべてのチェックボックスをクリア
$("input[type='checkbox']").prop("checked", false);
// すべてのラジオボタンをクリア
$("input[type='radio']").prop("checked", false);
// すべての選択オプションをクリア
$("select").val("");
});
});
具体的な例
<form id="myForm">
<input type="text" name="firstName">
<input type="text" name="lastName">
<input type="checkbox" name="agree">
<select name="country">
<option value="Japan">Japan</option>
<option value="USA">USA</option>
</select>
<button type="submit">Submit</button>
</form>
このHTMLフォームに対して、JavaScriptコードを実行すると、フォームが送信される際にすべてのフィールドがクリアされます。
注意事項
- **.prop("checked", false)**メソッドは、チェックボックスやラジオボタンのチェックを外します。
- **.val("")**メソッドは、テキストフィールドや選択オプションの値をクリアします。
- セレクタは、クリアしたいフィールドの属性やクラス名に基づいて適切に選択してください。
すべてのテキストフィールドをクリア
$("input[type='text']").val("");
このコードは、フォーム内のすべてのテキストフィールドの値を空文字列に設定します。
すべてのチェックボックスをクリア
$("input[type='checkbox']").prop("checked", false);
このコードは、フォーム内のすべてのチェックボックスのチェックを外します。
すべてのラジオボタンをクリア
$("input[type='radio']").prop("checked", false);
すべての選択オプションをクリア
$("select").val("");
このコードは、フォーム内のすべての選択オプションの選択を解除します。
フォーム送信時にすべてのフィールドをクリア
$("#myForm").submit(function(event) {
event.preventDefault(); // フォームのデフォルトの送信を阻止
// すべてのフィールドをクリア
$("input[type='text']").val("");
$("input[type='checkbox']").prop("checked", false);
$("input[type='radio']").prop("checked", false);
$("select").val("");
});
このコードは、フォームの送信ボタンがクリックされたときに、すべてのフィールドをクリアします。
特定のフィールドをクリア
$("#firstName").val("");
このコードは、IDが"firstName"のテキストフィールドの値をクリアします。
クラス名に基づいてフィールドをクリア
$(".clearable").val("");
JavaScriptの原生メソッドを使用する
document.getElementById("myForm").reset();
この方法では、JavaScriptの原生メソッドであるreset()
を使って、フォーム全体をリセットします。これにより、すべてのフィールドがクリアされます。
フォームの送信を阻止して、JavaScriptでフィールドをクリアする
$("#myForm").submit(function(event) {
event.preventDefault(); // フォームのデフォルトの送信を阻止
// ここで、個々のフィールドをクリアするコードを書く
$("#firstName").val("");
$("#lastName").val("");
// ...
});
この方法では、フォームの送信を阻止し、その後、JavaScriptで個々のフィールドをクリアします。これにより、フォームの送信前にフィールドをクリアすることができます。
カスタム関数を作成する
function clearFormFields() {
$("input[type='text']").val("");
$("input[type='checkbox']").prop("checked", false);
// ...
}
jQueryのプラグインを使用する
$("#myForm").clearForm(); // jQueryのプラグインを使用する場合
jQueryのプラグインを使用することで、フォームフィールドをクリアする処理を簡潔に記述することができます。プラグインによっては、さまざまなオプションを提供しているものもあります。
jquery html forms