- PR -

【JSP】ユーザが選んだ情報を元に画面の内容を変えたい

投稿者投稿内容
yuki
会議室デビュー日: 2005/06/08
投稿数: 11
投稿日時: 2005-07-14 19:27
(株)ぽちさん、mogeさん、かつのりさん、takashiさん
ご親切にありがとうございます。

まず、(株)ぽちさん
実は、ページ更新できない理由があります。
フレームで表示しているため、更新をかけてしまうと
違うページにとんでしまうのです。
また、submitできない理由としては、
以下のソースを見て頂きたいのですが、

<form name="ttt" method="post" action="〜/〜">
〜ユーザーが選ぶ情報
 <select name="select" onChange="ab(this.value);" >
   <option value='A' >test1</option>
   <option value='B' >test2</option>
   <option value='C' >test3</option>
 </select>
〜表示・非表示を切り替えたいもの  
 <input type="text" name="項目@" >項目@
 <input type="text" name="項目A" >項目A
 <input type="text" name="項目B" >項目B
〜項目がたくさん
<form>

このような構造になっておりまして、
この中の項目を表示・非表示させたいのです。

document.formの名前.submit();

でサブミットしてしまうと項目の内容が空のまま
送信され、別のエラー処理の関数まで走ってしまいます。
<form>の構造は他の部分の設定上、
変えることは難しいです。

mogeさん、かつのりさんが教えてくださった
Ajaxの詳細については今調べているところです。
ありがとうございます。

takashiさんが教えてくださった方法ですと、
初めから全てのデータをサーバから取得して、
配列か何かに入れておくという事ですよね?
この方法だと後はJavaScriptで実現できそうな気がします。

もう少しいろいろと調べてみます。
ありがとうございました。



masa
大ベテラン
会議室デビュー日: 2005/05/11
投稿数: 108
投稿日時: 2005-07-14 21:50
こんばんは。

引用:

document.formの名前.submit();

でサブミットしてしまうと項目の内容が空のまま
送信され、別のエラー処理の関数まで走ってしまいます。
<form>の構造は他の部分の設定上、
変えることは難しいです。



え〜と、この理由を見る限りでは以下の形で対応出来そうです
がいかがでしょうか?

<select name="select" onChange="reload();" >

reload() {
document.ttt.action = "再表示用Servlet"; //action書き換え
document.ttt.submit();
}

[再表示用Servletの処理内容]
選択されたselectBoxのvalueからDB検索
検索結果をsetAttribute
元のJSPにフォワード

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