• ベストアンサー

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

<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またはオブジェクトではありません]というエラーが発生しました) アドバイスをお願いします。

  • kamay
  • お礼率73% (361/491)

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

  • ベストアンサー
  • ttyp03
  • ベストアンサー率28% (277/960)
回答No.1

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

kamay
質問者

お礼

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

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

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

kamay
質問者

お礼

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

関連するQ&A

  • chromeでフォームの値が取得できない

    PHPでフォームに入力された値を取得して画面に表示させる処理において、 Javascriptでフォームの値を変更した場合、chromeだと変更後の値が 取得できません。 例えば、 <form name="form" method="post" action="index.php"> <input type="checkbox" name="chk1" value="111"> <input type="hidden" name="data1" value="AAA"> <input type="submit" value="送信"> </form> というようなフォームがあったとして、Javascriptで値を <form name="form" method="post" action="index.php"> <input type="checkbox" name="chk1" value="222"> <input type="hidden" name="data1" value="BBB"> <input type="submit" value="送信"> </form> と、変更しても送信ボタンを押して取得できる値は、上の方の値になります。 IEやFireFoxでは問題なく変更後の値が取得できるのですが、chromeだと 取得できません。 なにか解決方法があるのか、それともchromeの仕様なのかご教示いただければと 思います。 どうかよろしくお願いいたします。

  • 一つのformで、複数のaction指定

    レイアウトなどの関係で、formの配置が基本とは異なるものになってしまい、うまく動作させる方法が見つからず困っています。 現在は <form> <input type="checkbox" name="select[]" value="●●"> <input type="checkbox" name="select[]" value="●●"> <input type="checkbox" name="select[]" value="●●"> </form> …… <form method="POST" action="A.php"> <input type="submit" name="aa" value="あああ"> </form> <form method="POST" action="B.php"> <input type="submit" name="bb" value="いいい"> </form> <form method="POST" action="C.php"> <input type="submit" name="cc" value="ううう"> </form> <form method="POST" action="D.php"> <input type="submit" name="dd" value="えええ"> </form> のようになっていて、チェックボックスの値を送信したいのは、Dのボタンを押したときだけPOSTされるようにしたい状態です。 この値を取得する方法か、もしくは <form method="POST" action="(ボタンに応じたもの)"> <input type="checkbox" name="select[]" value="●●"> <input type="checkbox" name="select[]" value="●●"> <input type="checkbox" name="select[]" value="●●"> …… <input type="submit" name="aa" value="あああ"> <input type="submit" name="bb" value="いいい"> <input type="submit" name="cc" value="ううう"> <input type="submit" name="dd" value="えええ"> </form> このように、一つのフォームの中に埋めてしまい、actionに入る値をボタンによって分ける方法はありませんでしょうか? もしくは他の方法でも構いません。 お分かりの方がいましたら、是非ご教授お願いいたします。

    • 締切済み
    • PHP
  • Formの「action」属性を取得したいけれども「action」という名のオブジェクトが存在している

    非常に困っています!よろしくお願いいたします。 以下のように「action」という名前のオブジェクトがあります。 <form name="form1" method="post" action="hoge.htm"> <input type="hidden" name="action" value="test"> <input type="submit" name="submit" value="OK"> </form> javascriptでaction属性「hoge.htm」を取得したいのです。そのため以下のようにコーディングしました。 alert(document.form1.action); 結果は「object」と表示されます。どうやらactionオブジェクトを対象としてしまうらしいのです。 action属性を取得する方法をお教えいただけないでしょうか。よろしくお願いいたします。

  • formのtextフィールドが認識されない

    下記のようなフォームに対し、JavaScriptで処理を行おうとしています。 <form name="dateForm" method="post" action=""> <table> <tr><td>0</td> <td><input type='text' name='date[]' maxlength='8' size=12 value='20111001'></td> <td><input type='text' name='date2[]' maxlength='8' size=12 value=''></td></tr> <tr><td>1</td> <td><input type='text' name='date[]' maxlength='8' size=12 value='20111002'></td> <td><input type='text' name='date2[]' maxlength='8' size=12 value=''></td></tr> <tr><td>2</td> <td><input type='text' name='date[]' maxlength='8' size=12 value='20111003'></td> <td><input type='text' name='date2[]' maxlength='8' size=12 value=''></td></tr> </table> <input type='text' name='date_0' maxlength='8' size=12 value='20111000'><br><br> <input type="submit" name="button" value="Check" onClick="send_self();"> <input type="submit" name="button" value="Enter" onClick="set_action();"> </form> Checkボタン押下で上記の関数を呼び出し、テキストフィールドdate[0]の値を表示すると、(1)では「20111001」と正しい値が表示されますが、(2)では下記のエラーが出てしまいます。 「プロパティ '0' の値を取得できません: オブジェクトは Null または未定義です。」 また、 alert(document.dateForm.elements[0]); // … (3) alert(document.dateForm.date); // … (4) とすると、(3)では[object]、(4)では[undefined]と表示されます。 alert(document.dateForm.date_0.value); はvalueも正しく表示されobjectとしても正しく認識されるので、配列へのアクセスに問題があるように思うのですが…。 問題点と解決法をご存知の方がいらっしゃいましたら、どうぞよろしくお願い致します。m(_ _;)m

  • 複数対応できるチェックボックスONでのテキストフィールド有効化

    nameでなくidから値を取得する方法を模索中です。 下記のようにしてみましたが、 「オブジェクトでサポートされていない~」とでます。 どのあたりに問題がありますでしょうか? <script type="text/javascript"> function fchk(obj,id) { var frm=obj.form; if(obj.checked==true) { /* テキストボックスを有効化(false)*/ for(var i=1; i<=2; i++){ frm.getElementById("t"+i).disabled=false; } } else { for(var i=1; i<=2; i++){ /* 無効化する前に、入力値をクリア */ if(id=='t'){ frm.getElementById("t"+i).value=""; } /* 無効化(true) */ frm.getElementById("t"+i).disabled=true; } } } </script> <form name="form" action="#"> <input type="checkbox" id="c1" name="aaa" value="オン" onclick="fchk(this,'t')" /> <br /> <input type="text" name="aaa" id="t1" value="" size="20" disabled/> <input type="text" name="aaa" id="t2" value="" size="20" disabled/> </form>

  • INPUT上でリターンを押してもsubmitされない方法

    フォームにてキーワードを入力し、検索ボタン押したときに javascriptにて以下の動作をさせたいと思っています。  ・hidden項目に特定値をセットしてsubmitをかける 以下のコードを書いたのですが、INPUT上でリターンを押すと submitされてしまいます。 ボタン以外でリターンを押した場合に何も動作させないようにするにはどのようにすればよいのでしょうか? -------------------------------------------------------------- <SCRIPT language="JavaScript"> <!-- function javasc_name(param){ document.form.PARAM.value = param document.form.submit() } //--> </SCRIPT> <form method="POST" action="cgi-bin/xxx.exe"> <input type="text" name="KEYWORD"> <input type="hidden" name="PARAM"> <input type="button" value="検索" OnClick="javasc_name(10)"> </form> --------------------------------------------------------------

    • ベストアンサー
    • HTML
  • フォーム内のオブジェクトを取得したい

    フォームタグ内のオブジェクトをphpで取得できないでしょうか。 たとえば <From Action"xxx.php" Post="Mothod"> <Input Type=Text Name=xxx> <Input Type=Text Name=xxx> <Input Type=Submit Name=xxx Value=送信> </Form> このようなフォームがあり「送信」を押下した際に、このフォームオブジェクトの要素を知りたいのです。 JavaScriptであれば document.forms[0].elements[0] で拾えたと思うのです。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • 複数のsubmitボタンを使い値を送信する

    <form action="/サーブレットへ" method="post"> <input type ="TEXT" NAME="text1"> <input type ="TEXT" NAME="text2"><br> <textarea name="zzzz" cols="100" rows="10"> </textarea> <input type="hidden" name="a1" value="3"> <input type="submit" name="a1" value="作成"> <input type="hidden" name="a1" value="2"> <input type="submit" name="a1" value="修正"> </form> 複数のsubmitを使用してそれぞれ違う、値又は変数を渡し処理をしたいのですが、わかりません。 分かる方がいましたら教えてください。よろしくお願いします。

    • ベストアンサー
    • Java
  • JavaScriptでcheckboxの入力個数制限

    以下のようなチェックボックスがあります。 3つ以上チェックできないようにしたいのですが、JavaScriptで可能でしょうか? <FORM method=POST action="aaa.cgi" name="FORM1"> <input type="checkbox" name="Q1" value="1">1<br> <input type="checkbox" name="Q2" value="1">2<br> <input type="checkbox" name="Q3" value="1">3<br> <input type="checkbox" name="Q4" value="1">4<br> <input type="checkbox" name="Q5" value="1">5<br> </form>

  • チェックボックスのvalueを連結してURLに追加

    <form method="get" action="<?php = $_SERVER['PHP_SELF']; ?>"> <input type="checkbox" name="c" value="001" /> <input type="checkbox" name="c" value="002" /> <input type="checkbox" name="c" value="003" /> <input type="checkbox" name="c" value="004" /> <input type="checkbox" name="c" value="005" /> <input type="submit" value="送信" /> </form> submitするとURLに ?c=001&c=002&c=003… が追加されます。 その形ではなく、c=001002003… と連結してURLに追加するにはどうしたら良いですか?

    • 締切済み
    • PHP

専門家に質問してみよう