質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

1回答

276閲覧

for文で取得したclassのvalueを扱う方法

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2021/04/24 17:25

前提・実現したいこと

こちらの質問と関連していて記述量を減らすのが目的なのですが、
https://teratail.com/questions/335017?modal=q-comp

繰り返し処理でユーザーが入力したvalueをそれぞれ取得し、その値を別の場所で利用したいです。
利用したいのですが、for文の{}内にどのように記述をすればいいのかがわかりません。

もともと
var number1 = document.getElementById("number1").value;
のように取得していたのですが、これが数字を10個、20個と増やしたくなった時に効率がよくないと思い、下記のようなイメージで作成したいです。

for文の{}内にどのように記述をすれば私のイメージしたことが実現できるのか、ヒントをいただきたいです。

該当のソースコード

<form> <input type="text" id="number1" class="number" value="" onblur="check1()"><br> <input type="text" id="number2" class="number" value="" onblur="check1()"><br> <input type="text" id="number3" class="number" value="" onblur="check1()"><br> <input type="text" id="number4" class="number" value="" onblur="check1()"><br> <input type="text" id="number5" class="number" value="" onblur="check1()"><br> </form> var number = document.querySelectorAll(".number.value"); for(var i = 0; i <= number.length; i++){ ここで取得したvalueを下のif文の「number1」や「number2」の部分に入れたい イメージは var num[i] = number[i].value; このようにしたいです。 } 上のnum[i]を下の「number1」部分に入れたい if(number1.match(/^[0-9]{1}$/) && number2.match(/^[0-9]{1}$/) && number3.match(/^[0-9]{1}$/) && number4.match(/^[0-9]{1}$/) && number5.match(/^[0-9]{1}$/){

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

js

1//本来、このような使い方をしてはダメ! 2[...document.querySelectorAll(".number")].forEach (e=>window[e.id]=e.value); 3console.log(number1, number2, number3, number4, number5); 4 5//必要とするのはこれか? 6console.log( 7 [...document.querySelectorAll(".number")].every (e=> e.value.match(/^\d$/)) 8); 9

投稿2021/04/24 17:44

babu_babu_baboo

総合スコア616

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2021/04/25 09:26

ありがとうございます。 知らなかった点を調べて参考にさせていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問