- - PR -
セレクトボックスでの値取得について
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-10-27 10:57
いつもお世話になっています。
セレクトボックスでの値取得についてです。 リストボックス(会社コード)があり、それに連動してテキストボックス2つ(名前、番号)の値が変わるものを作っています。 会社コードを変動条件とし、表示ボタンを押すとその会社コードの情報(会社コード、名前、番号)が一覧に出力される ものです。 以下のソースでリストボックスを選択し、表示ボタンを押すと、会社コードが必ず"AAAAAXXX"になってしまいます。 もちろん名前、番号も同様です。サーバ側での値の取得が失敗しているようです。 以下、実行したJSPの一部と、画面に出たHTMLです。 ******JSP******** <script language="JavaScript"> function tekitou(i) { document.form.Nm1.value = document.form.Nm2.options[i].value; document.form.Cd1.value = document.form.Cd2.options[i].value; } <tr>//リストボックス(会社コード) <th class="title_large"><span class="underline">会社コード</span></th> <td colspan="3"> <html:select property="CpnyCd" styleClass="required" style="width:95px;" onchange="tekitou(this.selectedIndex);" > <html:options collection="bondCpnyCdAtbt" property="value" labelProperty="label" /> </html:select> //テキスト(名前) <html:text property="Nm1" styleClass="readonly" readonly="true" size="30" maxlength="15" tabindex="-1" /> </td> </tr> //名前と番号のセレクトボックス(style="display:none;") <span style="display:none;"> <html:select property="Nm2"> <html:options collection="bondCpny1CdAtbt" property="value" labelProperty="label" /> </html:select> <html:select property="Cd2"> <html:options collection="bondCpny2CdAtbt" property="value" labelProperty="label" /> </html:select> </span> //テキスト(番号) <tr> <th><span class="underline">番号</span></th> <td><html:text property="Cd1" styleClass="readonly" size="9" maxlength="9" readonly="true" tabindex="-1" /> </td> </tr> ******画面のソース(HTML)****** <html> <script language="JavaScript"> function tekitou(i) { document.form.Nm1.value = document.form.Nm2.options[i].value; document.form.Cd1.value = document.form.Cd2.options[i].value; } </script> //リストボックス(会社コード) <th class="title_large"><span class="underline">証券会社コード</span></th> <td colspan="3"> <select name="CpnyCd" onchange="tekitou(this.selectedIndex);" style="width:95px;" class="required"> <option value="AAAAAXXX">AAAAAXXX</option> <option value="12345">12345</option> <option value="00000">00000</option></select> //テキスト(名前) <input type="text" name="Nm1" maxlength="15" size="30" tabindex="-1" value="" readonly="readonly" class="readonly"> </td> </tr> //名前と番号のセレクトボックス(style="display:none;") <span style="display:none;"> <select name="Nm2"> <option value="証券">証券</option> <option value="テスト123証券">テスト123証券</option> <option value="テスト証券">テスト証券</option></select> <select name="Cd2"> <option value="10010">10010</option> <option value="20010">20010</option> <option value="10020">10020</option></select> </span> //テキスト(番号) <th> <span class="underline">番号</span></th> <td colspan="3"><input type="text" name="Cd1" maxlength="9" size="9" tabindex="-1" value="" readonly="readonly" class="readonly"> どなたか値取得の方法がわかるかた、ご指摘等お願いします。 | ||||
|
投稿日時: 2005-10-27 11:35
formタグがないのはどうしてですか?
formタグを追加してみてはどうですか? <form name="fname"> Javascriptの方も気をつけないといけないですが・・・ document.fname.Nm2.options[i].value 的違いでしたらすみません。 | ||||
|
投稿日時: 2005-10-27 11:43
返信ありがとうございます。
formタグは記入してありました。 以下です。 ***JSP*** <html:javascript formName="form" /> ***HTML*** <form name="form"> | ||||
|
投稿日時: 2005-10-27 11:52
らいと申します。
めちゃめちゃ余談で、しかも答えではないのですが。
タグ名とname属性値が同じなのはちといただけないかな、と。 おそらく今回の場合は不都合は生じないでしょうが、 違う名前を使ったほうがいいと思われます。 今回の場合ならばfrmCompanyとか、最低でもform1とか。 ごく稀に、このようなことで不具合が発生する場合がありますので。 _________________ 一寸先は闇 安定してるシステムって言ったじゃん(泣) | ||||
|
投稿日時: 2005-10-27 12:03
うちで試してみた結果、基本的にこのスクリプトは動きますよ。
ただ、<html>で始まっているのに閉じていなかったり、trタグがtableタグの下になかったりtypoや基本的な所でミスが多いので、ここで指摘した所で写しなおす時にまたミスする可能性が大きいのではないでしょうか? (わかっている方なら、最小限体裁の整っている形で引用すると思いますので。) | ||||
|
投稿日時: 2005-10-27 12:10
「表示ボタンを押すと」とありますが、ここに書かれている情報を見ても、表示ボタンと
いうのがどのような動作をするものなのか、まったくわかりません。「表示ボタン」と いうのはフォームのサブミットボタンですか? だとすると、サブミットされたサーバ側の 処理はどうなっているんですか? | ||||
|
投稿日時: 2005-10-27 14:23
表示ボタンを押すと、一覧表示の検索クエリが走ます。
そのクエリの検索条件の、リストボックス(会社コード)の値を見ると、何を選んでも必ず値に"AAAAAXXX" が入ってしまいます。 | ||||
|
投稿日時: 2005-10-27 14:23
表示ボタンを押すと、一覧表示の検索クエリが走ます。
そのクエリの検索条件の、リストボックス(会社コード)の値を見ると、何を選んでも必ず値に"AAAAAXXX" が入ってしまいます。 |