
複数のテキストボックスの値、取得に関して質問させて下さい。
画面に20個のテキストボックスが存在し、
それぞれ id に txt0 ~ txt19を設定しています。
(javascriptにてループで作ってます)
for(ii=0; ii<20; ii++){
(略)
document.write("<input id='txt" + ii + "' type='text' />");
(略)
}
登録ボタン押下後に、上記20個のテキストボックスの値を取得し、
特定の文字だった場合のみ処理を行います。
この処理もループで行いたいのですが、
変数名 txt'i'.value の 'i'の部分だけを変更したいのです。(iは 0~19)
変数名の一部を変数にすることは可能でしょうか?
配列にできれば話は簡単なのですが・・・配列にできるでしょうか?
with (document.form1) {
for(ii=0; ii<20; ii++){
(略)
tempTxt = txt0.value; ←右辺の値をiiの値と共に txt0.value から txt19.value に変化させたい。
(略) ("txt" + ii + ".value" では文字列になってしまい・・)
if(tempTxt == "ABC"){
(略)
}
}
}
別の手段でもかまわないのですが、何かよい方法が
ありましたら、ご回答お願いします。
No.1ベストアンサー
- 回答日時:
なるほど、変数名に変数を使いたいわけですね。
2種類方法があります。
ひとつは、eval 関数を使うやり方です。
eval 関数は、文字列を引数に持ち、その文字列をコードとして評価します。
きちんと返り値も持ちます。
tempTxt = eval('txt' + ii + '.value');
こんな感じです。
もうひとつは、オブジェクトの別なアクセスの仕方を使うやり方です。
formオブジェクトの中のinputは、
document.FORM_NAME.INPUT_NAME
というアクセスの仕方が一般的ですが、他にも
document.FORM_NAME.elements[INPUT_NAME]
としてもアクセスできます。
なので、下のようにすればうまくいくはずです。
tempTxt = elements['txt' + ii].value;
早速のご回答ありがとうございました!
無事、目的の動作を行わせることができました。
eval関数、elements ともに知らなかったため、
まだまだ勉強不足と検索不足を痛感しました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- Java Java 南京錠 2 2023/02/04 11:46
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Visual Basic(VBA) 別シートのデータを参照して値を入れたい。 まとめデータシートのC列D列の値を商品一覧シートのコードが 7 2022/08/17 13:20
- Visual Basic(VBA) VBAでのループ順序について 3 2023/03/13 10:55
- Visual Basic(VBA) VBAで時間(00:00形式)を積算(足し算)したい 1 2022/11/15 17:04
- Visual Basic(VBA) 稀に1円合いません? Sheet1から金額と個数を貼り付ける下記コードで、金額を切り上げるコードを何 3 2022/09/05 15:11
- Visual Basic(VBA) VBA 重複チェック後に値をワークシートに転記する方法を教えてください。 1 2023/03/19 12:43
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
onchangeイベントを強制的に発...
-
javaScriptの変数をJavaの変数...
-
javascriptでtextareaに文字列...
-
テキストエリアの行頭行末に指...
-
JavaScriptのfileオブジェクト...
-
複数のテキストボックスの値の...
-
jQueryで設定したイベントハン...
-
ボタンをクリックして文字を置...
-
innerHTML内では改行は禁止?
-
クリックでテーブル内の背景色...
-
クリックさせたいが、click()が...
-
追加ボタンを押した際に ok ボ...
-
iOSのみダブルタップが必要
-
for文の中での計算
-
vbscriptでIE自動入力(コンボ...
-
evalで数値に変換してる筈なの...
-
ボタンかリンクをクリックする...
-
return trueとreturn falseの用...
-
【jQuery】input nameの文字列...
-
ハイパーリンクを別ウインドウ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
onchangeイベントを強制的に発...
-
JavaScriptのfileオブジェクト...
-
クリックさせたいが、click()が...
-
formのfileの値をhiddenでも持...
-
ボタンかリンクをクリックする...
-
追加ボタンを押した際に ok ボ...
-
javaScriptの変数をJavaの変数...
-
innerHTML内では改行は禁止?
-
onclickが動作しない
-
ボタンをクリックして文字を置...
-
javascriptで作成されたテーブ...
-
jQueryで設定したイベントハン...
-
Javascriptで'(シングルクォー...
-
ボタンをクリックするとテキス...
-
ポップアップブロックにならな...
-
VB.NETで<Input>タグ、<text...
-
任意の<DIV></DIV>の中に計算結...
-
onClickがinput type="image"だ...
-
if構文
-
JSのボタンを複数う使うには
おすすめ情報