S2JSFでSubmit時に確認ダイアログ(confirm)を出す。

 http://lists.sourceforge.jp/mailman/archives/seasar-user/2005-April/003538.html
から始まるスレッドで出てきた、このJavaScriptとの併用の件。確かに削除などの場合はダイアログを出したいところですね。

 S2JSF ExampleのEmployee Managementを元に、employeeSearch.htmlを修正して試してみました。ひがさんの日記のid:higayasuo:20041228を見ると、onclickがlocation.hrefで始まってる文を削除するようなことが書かれています。そして、後ろにalertを書けば、それが残るとも。これを真似してconfirmに書き換えてみました。

<input type="button" value="create"
	m:action="#{employeeSearchAction.goEditForCreate}"
	onclick="location.href='employeeEdit.html';return confirm('新規作成しますか?');"/>
<input type="button" value="search"
	m:action="#{employeeSearchAction.checkSearchCount}"
	onclick="location.href='employeeList.html';return confirm('検索を開始しますか?');"/>

 実行時には、一見うまくいくのですが、モックとして動かすとキャンセルを押しても先に進んでしまいますね。うーん、奥が深い。location.hrefに設定する値を関数の戻り値にして、確認メッセージの日本語を2回書いてもいいのなら、JavaScriptでゴニョゴニョすればできそうなのかも。まだ、検証が必要ですね。

追記:

無理でした...orz