こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

同じ名前が複数あるインプットフィールドの値を取得するには?

<form action="***" method="post" name="frmTest">
<input name="chktest[0]" type="checkbox" value="c0">
<input name="txttest[0]" type="text" value="t0">
<input name="chktest[1]" type="checkbox" value="c1">
<input name="txttest[1]" type="text" value="t1">
<input name="chktest[2]" type="checkbox" value="c2">
<input name="txttest[2]" type="text" value="t2">
</form>

このようなフォームがあった時、例えばtxttest[1]の値をjavascriptで取得する場合、どのように記述すればよいのでしょうか。
document.frmTest.txttest[1].valueでは上手くいきませんでした。
([document.frmTest.txttest.1はNullまたはオブジェクトではありません]というエラーが発生しました)

アドバイスをお願いします。

投稿日時 - 2005-08-30 16:30:23

QNo.1615292

すぐに回答ほしいです

質問者が選んだベストアンサー

こういう書き方で取得できました。

document.all.item( "txttest[1]", 0 ).value

ただしこれの本来の使い方は、item の2つ目の引数に同じ名前のフィールドの何番目かを指定して使うものです。
従って name="txttest[1]" という書き方では配列展開されないようです(だから0番目を指定した)
配列展開されるように書くなら、name="txttest" と書いておいて、item( "txttest", 1 ) とするか、name="txttest[]" と書いておいて、item( "txttest[]", 1 ) とするのが良いでしょう。

投稿日時 - 2005-08-30 16:58:30

お礼

無事取得できました。
とても助かりました、ありがとうございます^^

投稿日時 - 2005-08-30 17:03:09

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

document.frmTest["txttest[1]"].value

投稿日時 - 2005-08-30 17:03:34

お礼

無事取得できました。
ありがとうございます^^

投稿日時 - 2005-08-30 17:05:26

あなたにオススメの質問