【JavaScript】JSで入力フォームの値を取得しよう
おはようございます。タカヒデです。
本日は、「JavaScriptにおける、『フォームの値の取得』について、『入力BOX』『選択BOX』『チェックBOX』のそれぞれの値の取得方法」を紹介します。
- JavaScriptにおいて『フォームの値の取得』をしたい
- 『入力BOX』『選択BOX』『チェックBOX』のそれぞれの値の取得方法を知りたい
ぜひ本記事を参考にしてください。
入力BOXの値を取得
本記事では、『入力BOX』『選択BOX』『チェックBOX』のそれぞれの値の取得方法を見ていきます。
まずは入力BOXの値を取得する方法から見ていきましょう。
「ユーザーが何かを入力したらそのデータを取得する」という動きですね。
ここでは、「名前を入力するフォームを作成し、送信ボタンを押下することで入力BOXの値を表示」させます。
<form>
<label for="name">名前入力欄</label>
<input type="text" id="name" name="name" />
<input type="button" id="button" value="送信">
</form>
<div id="result"></div>let nameInput = document.querySelector("#name");
let result = document.querySelector("#result");
document.querySelector("#button").addEventListener("click", function () {
result.textContent = nameInput.value + "さんですね";
}, false)実行するとこんな感じ↓。
名前を入力した結果が、フォームの下にテキストで表示されています。

具体的に行っていることを見ていきましょう。
- 入力フォームの『name id』を『querySelectorメソッド』で『変数nameInput』に格納
- 結果を表示させる『result id』を『querySelectorメソッド』で『変数result』に格納
- 送信ボタンをクリックした際に、『変数nameInput』の値を表示するよう、『addEventListenerメソッド』を利用して記載
この際、取得した値はvalueプロパティを利用
と、こんな感じ。
実際に入力BOXの値が表示されるか試してみてください。
選択BOXの値を取得
続けて選択BOXの値を取得する方法を見ていきましょう。
基本的に入力BOXの値を取得する方法とやっていることは同様です。
ここでは、「スポーツを選択するフォームを作成し、送信ボタンを押下することで選択BOXの値を表示」させます。
<form>
<label for="sports">スポーツを選択</label>
<select id="sports">
<option value="野球">野球</option>
<option value="サッカー">サッカー</option>
<option value="テニス">テニス</option>
</select>
<input type="button" id="button" value="送信">
</form>
<div id="result"></div>let sports = document.querySelector("#sports");
let result = document.querySelector("#result");
document.querySelector("#button").addEventListener("click", function () {
result.textContent = sports.value + "ですね";
}, false);実行するとこんな感じ↓。
選択BOXから選んだ結果が、フォームの下にテキストで表示されています。

こちらもやっていることを解説していきます。
- 選択フォームの『sports id』を『querySelectorメソッド』で『変数sports』に格納
- 結果を表示させる『result id』を『querySelectorメソッド』で『変数result』に格納
- 送信ボタンをクリックした際に、『変数sports』の値を表示するよう、『addEventListenerメソッド』を利用して記載
この際、取得した値はvalueプロパティを利用
やっていることは全く同じですね。
こちらも実際に試してみてください。
チェックBOXの値を取得
最期にチェックBOXの値を取得する方法を見ていきましょう。
今回は「for…of文」も組み合わせて実行します。
「興味のある項目をチェックするフォームを作成し、送信ボタンを押下することでコンソールログに値を表示」させます。
<form>
<p>興味のある項目を選択してください</p>
<label><input type="checkbox" name="interest" value="旅行">旅行</label>
<label><input type="checkbox" name="interest" value="食事">食事</label>
<label><input type="checkbox" name="interest" value="映画">映画</label>
<input type="button" id="button" value="送信">
</form>document.querySelector("#button").addEventListener("click", function () {
let result = [];
let interests = document.querySelectorAll('input[name="interest"]')
for (let interest of interests) {
if (interest.checked) {
result.push(interest.value);
}
}
console.log(result);
}, false);実行するとこんな感じ↓。
コンソールに選択した「食事」が表示されていますね。
複数のチェックを選択しても表示することができます。

こちらも解説を見ていきましょう。
- 送信ボタンをクリックした際の処理として、『addEventListenerメソッド』内に処理を記載
- チェックした値の配列を格納する変数として『変数result』を作成
- 『変数interests』を宣言し、『querySelectorAllメソッド』によりチェックBOXの『inputタグのうちname属性がinterestのもの』を取得
- for…of文で配列の要素を順に処理し、『checkedプロパティ』がtrueの場合に『配列result』に値を追加し最終的にコンソールログに表示
実際にチェックBOXの値が表示できましたか?
まとめ
以上が「JavaScriptにおける『フォームの値の取得』について、『入力BOX』『選択BOX』『チェックBOX』のそれぞれの値の取得方法」でした。
- 入力BOX/選択BOX:『querySelectorメソッド』で取得した変数に対し『valueプロパティ』で値を取得
- チェックBOX:『querySelectorAllメソッド』で取得した配列に対し『checkedプロパティ』でチェックされた値のみを取得
この記事が誰かの参考になれば幸いです。
お疲れさまでした。
