- PR -

Strutsを使ったポップアップ画面の値受け渡し

1
投稿者投稿内容
はにゃ
会議室デビュー日: 2005/08/08
投稿数: 5
投稿日時: 2005-08-26 20:42
以下の処理を考えています。
親画面:選択ボタンを押す。
     ↓
    子画面:ポップアップで、表示される
        保存ボタンを押す。
         ↓
親画面:子画面で入力した値が反映される。

このときに子画面で確定ボタンが押されたときにStrutsのValidatorを使って
エラーチェックを行い、その後、子画面を自動で閉じて親画面に値を反映させようと
思っていますが、子画面側では保存ボタンを押したタイミングで閉じる(確認画面は表示させない)ようにしようと思っていますが、どのように行えばよいでしょうか。
JavaScriptではできるのですが、一旦サーバを介すことを考えると、確認画面を表示させて、そこで閉じるボタンで反映させるのがよいのでしょうか?

[ メッセージ編集済み 編集者: はにゃ 編集日時 2005-08-26 20:43 ]

[ メッセージ編集済み 編集者: はにゃ 編集日時 2005-08-26 20:44 ]
ちょま吉
大ベテラン
会議室デビュー日: 2004/08/04
投稿数: 112
投稿日時: 2005-08-26 22:07
Validatorを通すということはリクエストを投げるということですよね。
そしたらなんらかの形でレスポンスを受け取る必要がありますよね?
エラーの場合にエラー画面を出す必要があるわけですから。

こんな方法はいかがでしょうか?
保存ボタンを押した後、エラーであれば何らかのエラー表示画面(元の画面?)を
表示し、エラーでなければダミーの画面を表示します。
このダミーの画面は読み込まれると同時に親画面に値を反映させた後に自分自身のウィンドウを閉じるわけです。(onloadイベントを利用する)


[ メッセージ編集済み 編集者: ちょま吉 編集日時 2005-08-26 22:08 ]
はにゃ
会議室デビュー日: 2005/08/08
投稿数: 5
投稿日時: 2005-08-29 00:13
やっぱり、それしか方法はないのでしょうか。。

親画面に反映するのは、onloadイベントと同時に、JavaScriptで反映させるのでしょうか。

キリウム
会議室デビュー日: 2003/07/04
投稿数: 11
投稿日時: 2005-08-31 11:06
こんにちは。

私はちょま吉さんが示されている方法で実現しています。

ダミー画面にて下のスクリプトをonLoadイベントで呼び
親画面をリロードさせた後に、ダミー画面をクローズしています。

子画面に入力された情報は、ダミー画面に移る際のアクション内でDBを更新しています。
コード:
	function loadOpener() {
		opener.location.href=document.forms[0].reloadAction.value;
		window.close();
	}


はにゃ
会議室デビュー日: 2005/08/08
投稿数: 5
投稿日時: 2005-09-05 20:19
キリウムさん。

設計の段階で、どうやって更新するかとても参考になります。
ありがとうございます。

1

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