- - PR -
html:submitタグのonclickについて
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-11-24 23:14
いつもお世話になっております。
Struts1.2.9のhtml:submitタグの使い方についての質問です。 http://www.res-system.com/item/242 上記URLに記載されているJSPソースの中で、 <html:submit property="submit" value="追加" onclick="form.decisionMode.value='insert'; submit();"/> という一文があります。 アクションフォームの変数decisionModeに文字列'insert'をセットする、という意味だと思うのですが、 自分で試してみたらできていませんでした。 教えていただきたいのですが、 form や submit(); は決まり文句(固定)ではないのでしょうか? アクションフォームにはちゃんとdecisionModeのアクセサメソッドを用意しているので、 原因はJSPにあると思うのですが。 環境はStruts1.2.9、Eclipse3.2です。 よろしくお願いいたします。 | ||||
|
投稿日時: 2006-11-24 23:48
Java会議室であんまりJavaScriptの話題に触れたくないところですが…。
formはJavaScriptの暗黙オブジェクトのはず。 submit()はformオブジェクトに定義されているメソッドだったかな。 そのJSPを実行してできてくるHTMLのソースを眺めて、 なぜそのJavaScriptのコードがうまく動かないのか考えましょう。 「form.decisionMode.value」でアクセスしようとしている <html:hidden property="decisionMode" /> は存在しますか? そもそもJavaScriptのエラーが出る場合はブラウザでエラーが出るはずです。 IEなら左下のアイコンがエラーとなりますね。たいした情報がでないのでデバッグしにくいですが… JSPの動作原理は理解していますか? そしてJavaとJavaScriptが全く別物で、全く違う場所(サーバ側とブラウザ側)で 動いていることを理解していますか? JSPで書き出したHTML上で動くJavaScriptのデバッグは 出来上がったHTMLのソースを見ながら行いましょう。 二階から目薬ではデバッグしにくいものです。 | ||||
|
投稿日時: 2006-11-26 14:44
返信ありがとうございます。
html:submitだけでなくhtml:hiddenも記述する必要があるのですね。 html:hiddenを書いていなかったので、それを追加して、 それでもだめなら生成されたHTMLソースを見てみます。 | ||||
|
投稿日時: 2006-11-26 15:04
元記事で「アクションフォームの変数decisionModeに文字列'insert'をセットする、という意味だと思うのですが、」と書かれていましたが、フォームの変数decisionModeは別途定義されているということでしょうか? [ メッセージ編集済み 編集者: shimix 編集日時 2006-11-26 15:05 ] | ||||
|
投稿日時: 2006-11-26 18:30
はい、decisionModeのアクセサメソッドは適切なアクションフォームに用意してあります。
|
1