プロが教える店舗&オフィスのセキュリティ対策術

現在struts + weblogicでwebアプリの開発を行っています。
行いことは以下のようになっています。
<table>
<html:form action"/hoge">
<logic:iterate id="lst" name="hoge" indexId="idx">
<bean:define id="listIndex" name="idx"/>
<tr name='<bean:write name="idx"/>'>
<td>
<html:select name="lst" property="timeH" onclick="document.hogeForm.hdn.value='<%=listIndex%>'>
<html:options property="timeHList"/>
</html:select>
   ・・・中略・・・
<input type="hidden" name="hdn">
</html:form>

ここで問題になっているのが、onclickイベントでhiddenに値を入れようと思っているのですが、<%=listIndex%>がそのまま文字列になって返ってきます。
シングルコーテーションを外したらスクリプトエラー、
ダブルコーテーションで書いたら<html:select>のタグが閉じてないといわれ、エラーで落ちます。
どのように値を格納すれば正しくhdnに値を格納できるのでしょうか?

struts 1.1
Weblogic 8.1 SP1
Windows2000にて開発

以上、宜しくお願い致します。

A 回答 (3件)

これが解決にはならないと思いますが…



<html:select name="lst" property="timeH" onclick="document.hogeForm.hdn.value='<%=listIndex%>'>

のonclick属性のダブルクォーテーションがちゃんと閉じられていないと思うのですが…これじゃダメでしょうか。

<html:select name="lst" property="timeH" onclick="document.hogeForm.hdn.value=<%
=listIndex%>">

それと、<select>にイベント付けるなら、普通はonchangeでは…?
<select>の内容をhiddenに渡したい訳ではないなら、他の方法を考える事をオススメします。
具体的に何がしたいのかわかれば、この私程度でも少しはお役に立てるアドバイスができそうですが、いかがでしょう。
    • good
    • 0

あっ


onchange
でしたっけ。
じゃ、No1のonclickの部分をonchangeに
読み替えてください。
    • good
    • 0

上記の↑のエラーの理由はよくわかりませんが。



やりたいことは、実行時にselectメニューで
選択項目を変更するたびにをhiddenの
値を変えたいということでしょうか?

だと、すれば、いづれにせよ。
上記のやり方では、うまくいかないように
私には見えるのですが・・・。
上記のやり方では、
サーバーサイドでJSPを実行した時の
jsp側の変数listIndexの値が文字列に展開された
識別子について、javascriptが解釈した値を
選択メニューの値が変えられるたびに
document.hogeForm.hdn.valueに
代入している。

ということになります。
つまり、
選択メニューでなにを選ぼうが、
document.hogeForm.hdn.valueには
常に同じ値が代入されることになって
しまうのではないでしょうか?

これって、utataneのやりたいことなのでしょうか?

utataneがしたいのはこういうことなのではないでしょうか?


<html:select name="lst" property="timeH" onclick="document.hogeForm.hdn.value=document.hogeForm.timeH.options.selectedIndex">

もしくは、

<html:select name="lst" property="timeH" onclick="document.hogeForm.hdn.value=
document.hogeForm.timeH.options[document.hogeForm.timeH.options.selectedIndex].value">

こうすれば、クライアント側のjavascriptの機能で
選択メニューの値を変更する度に、
その時、選択メニューで選ばれている内容に対応する
値がhiddenタグにはいると思いますが。

私の勘違いなのかなぁ。

なお、
質問文のエラーの回避方に関しては、
ちょっと、よくわかりません。

以上
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!