- PR -

フレーム分割(IFRAME)した画面のデータを・・・

投稿者投稿内容
NEO
大ベテラン
会議室デビュー日: 2005/10/02
投稿数: 104
投稿日時: 2005-10-11 01:02
StrutsでWebシステムを作っています。

その中で、インラインフレームを入れた画面を作ることになりました。
親画面、インラインフレームともに入力項目があり、フォームのサブミット先(action属性)は
同一のActionクラスを指定するつもりですが、
親画面、インラインフレームをJavaScriptで同時に(厳密には親→インラインの順)サブミットすれば、
親画面とインラインフレームの入力項目をActionクラスで同時に処理することはできるのでしょうか?
できないのであれば、どうすれば同時に処理できるでしょうか?
ちなみに、わけあってセッションは使えません。


かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2005-10-11 07:07
まず、親画面をサブミットした段階で画面が切り替わり
インラインフレームの画面が消えるので送信ができません。

親画面側で送信ボタンをクリックした時に、
インライン側のフォームの内容を、
親画面側のhiddenフォーム等に退避してから
送信する様にしてみては如何でしょうか。

NEO
大ベテラン
会議室デビュー日: 2005/10/02
投稿数: 104
投稿日時: 2005-10-11 08:29
ありがとうございます。

インラインフレームには項目数が多いので、親画面からインラインフレームに退避したいのですが、それでも実現できますか?
でっち6号
大ベテラン
会議室デビュー日: 2005/01/31
投稿数: 176
お住まい・勤務地: Kawasaki
投稿日時: 2005-10-11 10:01
こんにちは、でっちです。

JavaScriptであれば、parentでIFRAME内からも親画面側のオブジェクトを参照できます。
サブミット時のTarget指定には気を付けて下さい。

[ メッセージ編集済み 編集者: でっち6号 編集日時 2005-10-11 10:02 ]
NEO
大ベテラン
会議室デビュー日: 2005/10/02
投稿数: 104
投稿日時: 2005-10-12 00:14
親画面、インラインフレームでのデータ受け渡しについてはよくわかりました。
回答いただいたやり方であれば、結局Actionクラスで同時に処理することはできるということなのでしょうか?

> でっちさん
Targetの指定に気をつけるとは、具体的にはどういうことで?
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2005-10-12 00:45
引用:

結局Actionクラスで同時に処理することはできるということなのでしょうか


同時とは何を意味しているのでしょうか。
それと、提示された内容を試されたのでしょうか。

要件がわかり難いのですが、要は、
・インラインのフォームの内容を送信したい
・その際に親画面の情報も一緒に送信したい
・送信ボタンはインライン側にある
という感じでしょうか。

・インライン側の送信ボタン実行をハンドルする
・インライン側から見た親画面(window.parent)の値を参照
・インライン側のフォームに値を退避
・ターゲットを親にして送信

という流れで問題ないと思います。
ターゲットを気をつけるというのは、
インライン側がターゲット指定を行わずに送信を行うと、
インライン側の部分だけが送信による画面遷移が行われます。
見た目的には親画面はそのままで、インライン側だけが更新される状態です。
NEO
大ベテラン
会議室デビュー日: 2005/10/02
投稿数: 104
投稿日時: 2005-10-12 08:38
>かつのりさん
送信ボタンは親画面にあるんですよ。
でっち6号
大ベテラン
会議室デビュー日: 2005/01/31
投稿数: 176
お住まい・勤務地: Kawasaki
投稿日時: 2005-10-12 09:18
おはようございます、でっちです。

なんか、回答の順序が変な感じになっちゃってますが

引用:

NEOさんの書き込み (2005-10-12 08:38) より:
>かつのりさん
送信ボタンは親画面にあるんですよ。



んーと、それで何が問題なのでしょう?
かつのりさんが書いて下さった手順の最初の方が、ちょっと変わるだけですよね?
簡単に纏めると、

・親画面側のボタンクリック(onclick)でIFRAME内のJavascript関数を呼ぶ
 ※ここでは、falseを返してポストされないようにする。
・IFRAME側から見た親画面(window.parent)の値を参照し、退避する。
・ターゲットを親にして送信(submit())

と言う感じです。
ポイントを絞って、問題点を挙げて頂けますか?

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