[Seasar-user:11147] [Teeda] doメソッドが実行されないケースについて
木村 究道
[E-MAIL ADDRESS DELETED]
2007年 10月 19日 (金) 18:12:50 JST
度々失礼いたします。
木村と申します。
稀なケースかもしれませんので心苦しいのですが、質問させ
てください。
ひとつの画面で照会、編集をやろうとしています。
1. 照会画面表示
↓ ・編集ボタン
2. 編集画面表示
↓ ・値を入力して更新ボタン
↓ ・Pageクラスで入力チェック
↓ ・チェックOK
3. 編集画面を再表示してJavaScriptのonLoadイベントで、showModalDialogにて確認ダイアログを表示。
↓ ・閉じるボタンで確認ダイアログを閉じる
↓ ・JavaScriptにて更新ボタンを押下
↓ ・Pageクラスで更新処理
4. 照会画面を表示
上記のように動いてほしいですし、2回目以降は動くのです
が、1回目だけ3.→4.のときにdoメソッドが実行されず、照
会画面に遷移しません。
ブラウザを立ち上げて、1回目で現象がおきます。
2回目以降はうまくいきます。
ブラウザを立ち上げなおすと、また1回目で現象がおきます。
その後はまた、うまくいきます。
どのような原因が考えられるでしょうか?
よろしくお願い致します。
TestPage.java
-----------------------------------------------------
public class TestPage {
private Integer crudType = 1;
private boolean showDialog = false;
private String str;
public String doEdit() {
this.crudType = 2; // 編集に変更
return null;
}
public String doBack() {
this.crudType = 1; // 照会に変更
return null;
}
public String doUpdate() {
if (this.showDialog == false) {
// ここで入力チェックなどを行う(DBの存在チェックなどの論理チェック)
this.showDialog = true;
return null; // 入力チェックOKなら確認ダイアログを出すために返す
}
this.showDialog = false;
this.crudType = 1; // 照会に変更
return null;
}
public boolean isRead() {
if (this.crudType == 1) {
return true;
}
return false;
}
// getter/setter省略
}
test.html
-----------------------------------------------------
<html>
<head>
<title></title>
<script language="JavaScript">
<!--
// 確認ダイアログ表示
function showDialog(){
// フラグを確認
if(document.getElementById("showDialog").value == "false"){
return;
}
// 確認ダイアログ表示
showModalDialog("dialog.html",window,"status:false;dialogWidth:320px;dialogHeight:240px");
document.getElementById("doUpdate").click();
}
//-->
</script>
</head>
<body onLoad="showDialog();">
<form id="testForm" onLoad="showDialog();">
<input type="hidden" id="crudType"/>
<input type="hidden" id="showDialog"/>
<div id="isRead-End" >
照会画面<br/>
文字 : <span id="str-span"/><input id="str-hidden" type="hidden"/><br/>
<input id="doEdit" type="submit" value="編集"/>
</div>
<div id="isNotRead">
編集画面<br/>
<input id="str-text" type="text"/><br/>
<input id="doUpdate" type="submit" value="更新"/>
</div>
</form>
</body>
</html>
dialog.html
-----------------------------------------------------
<html>
<head>
<title>確認ダイアログ</title>
</head>
<body>
<form id="checkDialogForm">
<center>
<br/>
<br/>
<input type="button" id="end" value="閉じる" onClick="self.window.close();"/>
<br/>
<br/>
</center>
</form>
</body>
</html>
--
-----------------------------------------------------
十八ソフトウェア株式会社
システム開発部 アプリケーション開発課 木村 究道
〒850-0861 長崎市江戸町6-5江戸町センタービル6F
TEL:095-824-0018 FAX:095-827-8754
E-mail: [E-MAIL ADDRESS DELETED]
-----------------------------------------------------
Seasar-user メーリングリストの案内