- - PR -
IFRAMEを含む画面でのデータの受け渡しについて
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2003-12-25 11:11
こんにちわ。
いつも参考にさせていただいております。 現在IFRAMEを使った処理をしているのですが どうにも解決できない問題があり困っております。 親フォームとしている画面で検索条件を入力し その結果をIFRAMEの中でGridを使って表示しています。 Gridの中のボタンをクリックしたときにその行の 内容(5〜6個)を親フォームのテキストボックスに 表示したいのですがその方法について悩んでいます。 ボタンをクリックしたときに値をセッションに格納し、 親フォームをPostBackさせて表示しようとしたのです。 しかし、親フォームでPostBackが行われたときにはIFRAMEの中も PostBackされるのですがIFRAMEの中で処理を行ってもIFARME の中のみしかPostBackされず失敗しました。 何か明示的にといいますか、コマンドで親フォームを PostBackさせることはできないのでしょうか? 説明がわかりにくいかと思いますが お分かりになる方いましたらご教授お願いいたします。 | ||||
|
投稿日時: 2003-12-25 12:33
javascriptで
parent.document.親フォーム名.submit() または parent.top.document.親フォーム名.submit() で親フォームをsubmitできました。IE6とNN7.1でできましたが他はみてません。 parent.親フォーム名.submit() だとIE6ではできてNN7.1ではできませんでした。詳しいことはJAVASCRIPTを 調べてみるとよいでしょう(私も詳細を理解してません)
親フォームでPostBackが行われたときの子フレームってPOSTBACKしてます? 新規リクエスト扱いじゃないですか?IsPostBackがfalseになると思いますよ。 ちなみに上記の私のjavascriptの場合は親フレームはPOSTBACK扱いになりました。 | ||||
|
投稿日時: 2003-12-25 13:30
べるさんありがとうございます
PostBackしてませんでした。勘違いです、すみません。 べるさんの方法で試してみたいのですが DataGridのボタンでOnClickイベントをひろうことが できません。 attributesなどを使ってもうまくいかないのですが・・・ なにかよい方法がありましたら よろしくお願いいたします。 | ||||
|
投稿日時: 2003-12-25 15:34
1「IFRAMEうんぬん以前にDataGridのボタンを押した際にそれをイベントで ひろう仕組みが作れない。」 2「IFRAMEの場合に限りonclickイベントのロジックを通らない」 どちらでしょうか?1でしたら@IT内にも記事がありますし、会議室内にもスレッドが ありそうです。(私自身すぐにはコードかけません・・) 2の話なら、おそらくイベントロジックは通ってます。しかし「親フォームが SubmitされるとIFRAMEの中も新規にリクエストされる」ので結果的にページに反映 されないのでしょう。デバッグしてみるとわかります。よくよく考えるとIFRAMEは ページ内のタグなので更新されるのは当たり前ですね。回避法は申し訳ないですが ちょっと思いつきませんね・・・ 普通のフレームだと(framesetを作るので)「自身を普通に処理しながら他フレームを Submit」ということは(javascript等で)できるのですがね・・・ |
1