- PR -

IFRAMEを含む画面でのデータの受け渡しについて

1
投稿者投稿内容
aki
会議室デビュー日: 2003/12/19
投稿数: 10
投稿日時: 2003-12-25 11:11
こんにちわ。
いつも参考にさせていただいております。

現在IFRAMEを使った処理をしているのですが
どうにも解決できない問題があり困っております。


親フォームとしている画面で検索条件を入力し
その結果をIFRAMEの中でGridを使って表示しています。

Gridの中のボタンをクリックしたときにその行の
内容(5〜6個)を親フォームのテキストボックスに
表示したいのですがその方法について悩んでいます。

ボタンをクリックしたときに値をセッションに格納し、
親フォームをPostBackさせて表示しようとしたのです。

しかし、親フォームでPostBackが行われたときにはIFRAMEの中も
PostBackされるのですがIFRAMEの中で処理を行ってもIFARME
の中のみしかPostBackされず失敗しました。

何か明示的にといいますか、コマンドで親フォームを
PostBackさせることはできないのでしょうか?

説明がわかりにくいかと思いますが
お分かりになる方いましたらご教授お願いいたします。

べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2003-12-25 12:33
javascriptで
parent.document.親フォーム名.submit()
または
parent.top.document.親フォーム名.submit()
で親フォームをsubmitできました。IE6とNN7.1でできましたが他はみてません。
parent.親フォーム名.submit()
だとIE6ではできてNN7.1ではできませんでした。詳しいことはJAVASCRIPTを
調べてみるとよいでしょう(私も詳細を理解してません)

引用:
しかし、親フォームでPostBackが行われたときにはIFRAMEの中も
PostBackされるのですがIFRAMEの中で処理を行ってもIFARME
の中のみしかPostBackされず失敗しました。


親フォームでPostBackが行われたときの子フレームってPOSTBACKしてます?
新規リクエスト扱いじゃないですか?IsPostBackがfalseになると思いますよ。
ちなみに上記の私のjavascriptの場合は親フレームはPOSTBACK扱いになりました。
aki
会議室デビュー日: 2003/12/19
投稿数: 10
投稿日時: 2003-12-25 13:30
べるさんありがとうございます

引用:

べるさんの書き込み (2003-12-25 12:33) より:
親フォームでPostBackが行われたときの子フレームってPOSTBACKしてます?
新規リクエスト扱いじゃないですか?IsPostBackがfalseになると思いますよ。
ちなみに上記の私のjavascriptの場合は親フレームはPOSTBACK扱いになりました。



PostBackしてませんでした。勘違いです、すみません。


べるさんの方法で試してみたいのですが
DataGridのボタンでOnClickイベントをひろうことが
できません。
attributesなどを使ってもうまくいかないのですが・・・

なにかよい方法がありましたら
よろしくお願いいたします。

べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2003-12-25 15:34
引用:
DataGridのボタンでOnClickイベントをひろうことが
できません。

これって
1「IFRAMEうんぬん以前にDataGridのボタンを押した際にそれをイベントで
ひろう仕組みが作れない。」
2「IFRAMEの場合に限りonclickイベントのロジックを通らない」
どちらでしょうか?1でしたら@IT内にも記事がありますし、会議室内にもスレッドが
ありそうです。(私自身すぐにはコードかけません・・)

2の話なら、おそらくイベントロジックは通ってます。しかし「親フォームが
SubmitされるとIFRAMEの中も新規にリクエストされる」ので結果的にページに反映
されないのでしょう。デバッグしてみるとわかります。よくよく考えるとIFRAMEは
ページ内のタグなので更新されるのは当たり前ですね。回避法は申し訳ないですが
ちょっと思いつきませんね・・・

普通のフレームだと(framesetを作るので)「自身を普通に処理しながら他フレームを
Submit」ということは(javascript等で)できるのですがね・・・
1

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