- PR -

親・子画面での値渡し

1
投稿者投稿内容
とも
会議室デビュー日: 2005/08/12
投稿数: 10
投稿日時: 2005-08-23 00:25
こんばんは。
JSF(MyFaces)を使用しています。

親画面:画面上のテーブルにコード・検索ボタンが複数行存在する
子画面:コード翻訳の入力項目・検索ボタン・検索結果表示用のテーブルが存在する
    検索結果表示用のテーブルには、コード・翻訳・選択ボタンが存在する

上記のような親画面、子画面の構成で、下記のような動きをしたいのですが
1.親画面の2行目の検索ボタンが押される
2.子画面を表示(その際、親画面は開いたまま)
   →現在、JavaScriptのwindow.openで実装
3.子画面に商品名を入力し、検索ボタンを押し、検索結果表示用テーブルに
  複数件データを表示
   →この部分は、DBから表示するだけなので問題なし
4.子画面の5行目の選択ボタンが押される
5.子画面を閉じて、親画面の2行目のコードに
  子画面で選択された5行目のコードをセット

以上、1から5の処理を行いたいのですが、
Java初心者で、どのように実装すればいいのか全くわからいので、
教えて頂きたいのですが・・・

宜しくお願いします。
wine
会議室デビュー日: 2005/08/16
投稿数: 12
投稿日時: 2005-08-23 01:57
あまり詳しくないので、キーワードだけ、

JavaScriptの

 window.showModalDialog

で調べてみてください。

子ウィンドウを引数つきで開き、
更に親画面に値を返すことができるはずです。
KOX
大ベテラン
会議室デビュー日: 2004/08/23
投稿数: 142
投稿日時: 2005-08-23 15:19
子画面を閉じる際に、
親にデータを渡すのですよね。
この方法はJavaScriptの基本なので、
簡単に調べられますよ。
openerで親のフォームを呼び出せるので、
ここら変を調べてください。
らい
大ベテラン
会議室デビュー日: 2005/08/02
投稿数: 159
お住まい・勤務地: 東京都と千葉県のさかいめ
投稿日時: 2005-08-23 15:38
引用:

ともさんの書き込み (2005-08-23 00:25) より:
1.親画面の2行目の検索ボタンが押される
2.子画面を表示(その際、親画面は開いたまま)
   →現在、JavaScriptのwindow.openで実装
3.子画面に商品名を入力し、検索ボタンを押し、検索結果表示用テーブルに
  複数件データを表示
   →この部分は、DBから表示するだけなので問題なし
4.子画面の5行目の選択ボタンが押される
5.子画面を閉じて、親画面の2行目のコードに
  子画面で選択された5行目のコードをセット

以上、1から5の処理を行いたいのですが、



んと、おそらくwineさんのおっしゃるとおり、
showModalDialogを使用すればできるかと。
具体的には、
コード:
【親ファイル】
(呼び出すところのみ)
戻り値=window.showModalDialog("子ファイル名",window,"オプション")
【子ファイル】
(戻り値のところのみ)
(通常は、onClick属性のところに書くのかなぁ?)
send(戻り値)


で可能かと。

参考になれば、うれしいです。
とも
会議室デビュー日: 2005/08/12
投稿数: 10
投稿日時: 2005-08-28 11:04
wineさん、KOXさん、らいさん。
ありがとうございます。

window.showModalDialogで、開いた画面から
戻り値を取得できるのですね。知りませんでした…

まだ試してないので、やってみたいと思います。

JSFユーザ
会議室デビュー日: 2006/04/24
投稿数: 2
投稿日時: 2006-04-24 11:40
はじめまして。
私もJSFで同じようなことを実装したいと思っております。

showModalDialogで子画面を表示するところまではできたのですが、
「検索」ボタンでsubmitを行うと、下のような状態になってしまいます。

<現象>
  ・別の画面が表示される
  ・セッション情報も継承されていない

検索ボタンはJSP下のように記述しております。
<JSPの記述>
<h:commandButton id="search" type="submit" styleClass="button" value="検索" action="#{FormBean.search}"/>

これは下のURLのIEのバグかと思われるのですが、
http://support.microsoft.com/default.aspx?scid=kb%3Bja%3B831678

JSFではどうすれば回避できるか、教えて頂きたいのですが・・・
JSFユーザ
会議室デビュー日: 2006/04/24
投稿数: 2
投稿日時: 2006-04-24 13:15
自己レスです。

showModalDialogでは、<HEAD>句内に
<base target="_self">
と記述すると、新しい画面を開かないようにできるそうです。

確認したところ、ちゃんと動きました。

調べが足りませんでした。すみません。
1

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