- - PR -
フレーム分割(IFRAME)した画面のデータを・・・
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-10-11 01:02
StrutsでWebシステムを作っています。
その中で、インラインフレームを入れた画面を作ることになりました。 親画面、インラインフレームともに入力項目があり、フォームのサブミット先(action属性)は 同一のActionクラスを指定するつもりですが、 親画面、インラインフレームをJavaScriptで同時に(厳密には親→インラインの順)サブミットすれば、 親画面とインラインフレームの入力項目をActionクラスで同時に処理することはできるのでしょうか? できないのであれば、どうすれば同時に処理できるでしょうか? ちなみに、わけあってセッションは使えません。 | ||||
|
投稿日時: 2005-10-11 07:07
まず、親画面をサブミットした段階で画面が切り替わり
インラインフレームの画面が消えるので送信ができません。 親画面側で送信ボタンをクリックした時に、 インライン側のフォームの内容を、 親画面側のhiddenフォーム等に退避してから 送信する様にしてみては如何でしょうか。 | ||||
|
投稿日時: 2005-10-11 08:29
ありがとうございます。
インラインフレームには項目数が多いので、親画面からインラインフレームに退避したいのですが、それでも実現できますか? | ||||
|
投稿日時: 2005-10-11 10:01
こんにちは、でっちです。
JavaScriptであれば、parentでIFRAME内からも親画面側のオブジェクトを参照できます。 サブミット時のTarget指定には気を付けて下さい。 [ メッセージ編集済み 編集者: でっち6号 編集日時 2005-10-11 10:02 ] | ||||
|
投稿日時: 2005-10-12 00:14
親画面、インラインフレームでのデータ受け渡しについてはよくわかりました。
回答いただいたやり方であれば、結局Actionクラスで同時に処理することはできるということなのでしょうか? > でっちさん Targetの指定に気をつけるとは、具体的にはどういうことで? | ||||
|
投稿日時: 2005-10-12 00:45
同時とは何を意味しているのでしょうか。 それと、提示された内容を試されたのでしょうか。 要件がわかり難いのですが、要は、 ・インラインのフォームの内容を送信したい ・その際に親画面の情報も一緒に送信したい ・送信ボタンはインライン側にある という感じでしょうか。 ・インライン側の送信ボタン実行をハンドルする ・インライン側から見た親画面(window.parent)の値を参照 ・インライン側のフォームに値を退避 ・ターゲットを親にして送信 という流れで問題ないと思います。 ターゲットを気をつけるというのは、 インライン側がターゲット指定を行わずに送信を行うと、 インライン側の部分だけが送信による画面遷移が行われます。 見た目的には親画面はそのままで、インライン側だけが更新される状態です。 | ||||
|
投稿日時: 2005-10-12 08:38
>かつのりさん
送信ボタンは親画面にあるんですよ。 | ||||
|
投稿日時: 2005-10-12 09:18
おはようございます、でっちです。
なんか、回答の順序が変な感じになっちゃってますが ![]()
んーと、それで何が問題なのでしょう? かつのりさんが書いて下さった手順の最初の方が、ちょっと変わるだけですよね? 簡単に纏めると、 ・親画面側のボタンクリック(onclick)でIFRAME内のJavascript関数を呼ぶ ※ここでは、falseを返してポストされないようにする。 ・IFRAME側から見た親画面(window.parent)の値を参照し、退避する。 ・ターゲットを親にして送信(submit()) と言う感じです。 ポイントを絞って、問題点を挙げて頂けますか? |