フォーム入力内容をリセット!jQueryでフォームをリセットする方法3選
jQueryで.reset()メソッドを使ってフォームをリセットする方法
このチュートリアルでは、jQueryを使って.reset()
メソッドでフォームをリセットする方法を説明します。この方法は、フォーム内のすべての入力項目を初期状態に戻すために役立ちます。
必要なもの
- jQueryライブラリがインストールされていること
- リセットしたいフォーム
手順
- jQueryライブラリを
<head>
セクションに読み込みます。
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
- 以下のコードを使用して、フォームのリセットをトリガーするイベントハンドラを定義します。
$(document).ready(function() {
$("#resetButton").click(function() {
$("form").reset();
});
});
このコードは、以下のことを行います。
$(document).ready()
関数は、DOMが完全にロードされた後にコードを実行します。$("#resetButton").click()
関数は、resetButton
IDを持つ要素がクリックされたときに実行されるイベントハンドラを定義します。$("form").reset();
行は、ページ内のすべてのフォームをリセットします。
オプション
- 特定のフォームのみをリセットするには、セレクタを調整します。例えば、以下のように
#myForm
IDを持つフォームのみをリセットできます。
$("#myForm").reset();
- 入力項目の値を個別にリセットするには、
.val()
メソッドを使用します。例えば、以下のように#name
IDを持つ入力項目の値を空文字に設定できます。
$("#name").val("");
補足
.reset()
メソッドは、フォーム内のすべての入力項目をリセットします。これには、チェックボックス、ラジオボタン、ドロップダウンリストなどの選択項目も含まれます。.reset()
メソッドは、フォーム送信をトリガーしません。フォームを送信するには、submit()
メソッドを使用する必要があります。
例
以下の例は、resetButton
ボタンをクリックすると、#myForm
フォームがリセットされるHTMLとJavaScriptコードを示しています。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>jQueryでフォームをリセット</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
<h1>jQueryでフォームをリセット</h1>
<form id="myForm">
<label for="name">名前:</label>
<input type="text" id="name" name="name">
<br>
<label for="email">メールアドレス:</label>
<input type="email" id="email" name="email">
<br>
<input type="reset" id="resetButton" value="リセット">
</form>
<script>
$(document).ready(function() {
$("#resetButton").click(function() {
$("#myForm").reset();
});
});
</script>
</body>
</html>
この例を実行すると、resetButton
ボタンをクリックすると、#myForm
フォーム内の入力項目がすべて空になります。
.reset()
メソッドは、jQueryでフォームを簡単にリセットするための便利な方法です。このチュートリアルで説明した手順に従って、自分のWebサイトやアプリケーションでこの方法をぜひ活用してみてください。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>jQueryでフォームをリセット</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
<h1>jQueryでフォームをリセット</h1>
<form id="myForm">
<label for="name">名前:</label>
<input type="text" id="name" name="name">
<br>
<label for="email">メールアドレス:</label>
<input type="email" id="email" name="email">
<br>
<input type="reset" id="resetButton" value="リセット">
</form>
<script>
$(document).ready(function() {
$("#resetButton").click(function() {
$("#myForm").reset();
});
});
</script>
</body>
</html>
このコードの説明:
- HTML 部分:
<form id="myForm">
: フォーム要素を作成します。この ID でフォームを識別します。<label for="name">名前:</label>
&<input type="text" id="name" name="name">
: "名前" というラベルとテキスト入力フィールドを作成します。<input type="reset" id="resetButton" value="リセット">
: "リセット" ボタンを作成します。
- JavaScript 部分:
$(document).ready(function() {...});
: DOM がロードされたら実行されるコードを記述します。
- このページがブラウザに読み込まれると、HTML コードがレンダリングされ、フォームが表示されます。
- ユーザーが "リセット" ボタンをクリックすると、JavaScript コードが実行されます。
- JavaScript コードは
$("#myForm").reset();
を実行し、#myForm
フォーム内のすべての入力フィールドが初期状態に戻されます。
応用例:
- フォーム送信後にフォームを自動的にリセットする
- ユーザーが間違った入力をしたときにフォームをリセットする
- フォームの入力内容をクリアして、ユーザーが新しい情報を入力できるようにする
このサンプルコードを参考に、自分のニーズに合わせてカスタマイズすることができます。
jQueryでフォームをリセットするその他の方法
各入力項目を個別にリセットする
.reset()
メソッドを使用する代わりに、各入力項目の値を個別にリセットすることができます。これを行うには、以下のコードを使用します。
$("#name").val(""); // テキスト入力フィールドを空にする
$("#email").val(""); // メールアドレス入力フィールドを空にする
$("#checkbox").prop("checked", false); // チェックボックスのチェックを外す
$("#radio").prop("checked", false); // ラジオボタンの選択を解除する
$("#select").prop("selectedIndex", 0); // ドロップダウンリストの最初のオプションを選択する
この方法は、フォーム内の特定の入力項目のみをリセットしたい場合に役立ちます。
.trigger('reset') イベントを使用する
以下のコードを使用して、.trigger('reset')
イベントをフォームに対してトリガーすることもできます。
$("#myForm").trigger('reset');
この方法は、.reset()
メソッドと同じように動作しますが、イベントベースのアプローチである点が異なります。
.find(':input') セレクタを使用する
以下のコードを使用して、フォーム内のすべての入力項目を選択し、ループ処理で個別にリセットすることもできます。
$("form").find(':input').each(function() {
$(this).val("");
$(this).prop("checked", false);
$(this).prop("selectedIndex", 0);
});
- シンプルでわかりやすい方法:
.reset()
メソッドを使用する - 特定の入力項目のみをリセットしたい場合: 各入力項目を個別にリセットする
- イベントベースのアプローチが必要な場合:
.trigger('reset')
イベントを使用する - 確実にすべての入力項目をリセットしたい場合:
.find(':input')
セレクタを使用する
jQuery でフォームをリセットするには、さまざまな方法があります。上記のいずれの方法でも、フォーム内の入力項目を初期状態に戻すことができます。
javascript jquery forms