- PR -

セレクトボックスでの値取得について

投稿者投稿内容
まな
常連さん
会議室デビュー日: 2005/10/26
投稿数: 45
投稿日時: 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">


どなたか値取得の方法がわかるかた、ご指摘等お願いします。
yoshim
会議室デビュー日: 2005/08/31
投稿数: 1
投稿日時: 2005-10-27 11:35
formタグがないのはどうしてですか?

formタグを追加してみてはどうですか?
<form name="fname">

Javascriptの方も気をつけないといけないですが・・・
document.fname.Nm2.options[i].value


的違いでしたらすみません。


まな
常連さん
会議室デビュー日: 2005/10/26
投稿数: 45
投稿日時: 2005-10-27 11:43
返信ありがとうございます。

formタグは記入してありました。
以下です。
***JSP***
<html:javascript formName="form" />
***HTML***
<form name="form">
らい
大ベテラン
会議室デビュー日: 2005/08/02
投稿数: 159
お住まい・勤務地: 東京都と千葉県のさかいめ
投稿日時: 2005-10-27 11:52
らいと申します。
めちゃめちゃ余談で、しかも答えではないのですが。

引用:

まなさんの書き込み (2005-10-27 11:43) より:
返信ありがとうございます。

formタグは記入してありました。
以下です。
***JSP***
<html:javascript formName="form" />
***HTML***
<form name="form">



タグ名とname属性値が同じなのはちといただけないかな、と。
おそらく今回の場合は不都合は生じないでしょうが、
違う名前を使ったほうがいいと思われます。
今回の場合ならばfrmCompanyとか、最低でもform1とか。
ごく稀に、このようなことで不具合が発生する場合がありますので。

_________________
一寸先は闇
安定してるシステムって言ったじゃん(泣)
冬寂
ぬし
会議室デビュー日: 2002/09/17
投稿数: 449
投稿日時: 2005-10-27 12:03
うちで試してみた結果、基本的にこのスクリプトは動きますよ。

ただ、<html>で始まっているのに閉じていなかったり、trタグがtableタグの下になかったりtypoや基本的な所でミスが多いので、ここで指摘した所で写しなおす時にまたミスする可能性が大きいのではないでしょうか?

(わかっている方なら、最小限体裁の整っている形で引用すると思いますので。)
uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2005-10-27 12:10
「表示ボタンを押すと」とありますが、ここに書かれている情報を見ても、表示ボタンと
いうのがどのような動作をするものなのか、まったくわかりません。「表示ボタン」と
いうのはフォームのサブミットボタンですか? だとすると、サブミットされたサーバ側の
処理はどうなっているんですか?
まな
常連さん
会議室デビュー日: 2005/10/26
投稿数: 45
投稿日時: 2005-10-27 14:23
表示ボタンを押すと、一覧表示の検索クエリが走ます。
そのクエリの検索条件の、リストボックス(会社コード)の値を見ると、何を選んでも必ず値に"AAAAAXXX"
が入ってしまいます。
まな
常連さん
会議室デビュー日: 2005/10/26
投稿数: 45
投稿日時: 2005-10-27 14:23
表示ボタンを押すと、一覧表示の検索クエリが走ます。
そのクエリの検索条件の、リストボックス(会社コード)の値を見ると、何を選んでも必ず値に"AAAAAXXX"
が入ってしまいます。

スキルアップ/キャリアアップ(JOB@IT)