- PR -

html:submitタグのonclickについて

1
投稿者投稿内容
すひろ
大ベテラン
会議室デビュー日: 2006/10/17
投稿数: 124
お住まい・勤務地: 愛知県
投稿日時: 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です。
よろしくお願いいたします。
nagise
ぬし
会議室デビュー日: 2006/05/19
投稿数: 1141
投稿日時: 2006-11-24 23:48
Java会議室であんまりJavaScriptの話題に触れたくないところですが…。

引用:

未記入さんの書き込み (2006-11-24 23:14) より:
教えていただきたいのですが、 form や submit(); は決まり文句(固定)ではないのでしょうか?



formはJavaScriptの暗黙オブジェクトのはず。
submit()はformオブジェクトに定義されているメソッドだったかな。

そのJSPを実行してできてくるHTMLのソースを眺めて、
なぜそのJavaScriptのコードがうまく動かないのか考えましょう。
「form.decisionMode.value」でアクセスしようとしている
<html:hidden property="decisionMode" />
は存在しますか?
そもそもJavaScriptのエラーが出る場合はブラウザでエラーが出るはずです。
IEなら左下のアイコンがエラーとなりますね。たいした情報がでないのでデバッグしにくいですが…

JSPの動作原理は理解していますか?
そしてJavaとJavaScriptが全く別物で、全く違う場所(サーバ側とブラウザ側)で
動いていることを理解していますか?
JSPで書き出したHTML上で動くJavaScriptのデバッグは
出来上がったHTMLのソースを見ながら行いましょう。
二階から目薬ではデバッグしにくいものです。
すひろ
大ベテラン
会議室デビュー日: 2006/10/17
投稿数: 124
お住まい・勤務地: 愛知県
投稿日時: 2006-11-26 14:44
返信ありがとうございます。
引用:

「form.decisionMode.value」でアクセスしようとしている
<html:hidden property="decisionMode" />
は存在しますか?


html:submitだけでなくhtml:hiddenも記述する必要があるのですね。
html:hiddenを書いていなかったので、それを追加して、
それでもだめなら生成されたHTMLソースを見てみます。
shimix
ぬし
会議室デビュー日: 2004/08/05
投稿数: 512
お住まい・勤務地: 大分市
投稿日時: 2006-11-26 15:04
引用:

未記入さんの書き込み (2006-11-26 14:44) より:
html:submitだけでなくhtml:hiddenも記述する必要があるのですね。



元記事で「アクションフォームの変数decisionModeに文字列'insert'をセットする、という意味だと思うのですが、」と書かれていましたが、フォームの変数decisionModeは別途定義されているということでしょうか?

[ メッセージ編集済み 編集者: shimix 編集日時 2006-11-26 15:05 ]
すひろ
大ベテラン
会議室デビュー日: 2006/10/17
投稿数: 124
お住まい・勤務地: 愛知県
投稿日時: 2006-11-26 18:30
はい、decisionModeのアクセサメソッドは適切なアクションフォームに用意してあります。
1

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