ウィンドウの制御方法についての質問

このQ&Aのポイント
  • 親画面から子画面を呼び出し、二つのウィンドウが立ち上がっている状態です。
  • 親画面が消えた場合、子画面も同時に消すように制御しています。
  • 子画面で登録処理を行った場合に限り、親画面を再表示して子画面を表示したままにしたいです。
回答を見る
  • ベストアンサー

ウィンドウの制御について、質問です。

親画面から、子画面を呼び出し二つのウィンドウが立ち上がっている状態です。 ちなみに、『親画面は一覧表示画面』、『子画面は登録画面』となっています。 親画面がなんらかの形で消されてしまった場合、 子画面も、同時に消すように制御しています。 そこで、子画面において、登録処理を行った場合に限り、 親画面を最新の状態を表示するため再表示(リロード)をさせています。 そのため、上にある制御のために 親画面を再表示すると子画面が消えてしまうのです。 登録処理後の場合は、親画面を再表示させたあとも子画面を表示させたままに したいのですが・・・。 それは可能なのでしょうか? やはり、フラグか何かを持たせて、親画面の「OnUload」のところで、 フラグで判断し、 「更新されて再表示する場合は、子画面をそのまま」 「そうでない場合は、子画面を消す」のようにするしかないのでしょうか? 何かいい方法がありましたら、御教授くださいませ。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Masazo-
  • ベストアンサー率48% (12/25)
回答No.1

1.フレームを使う 「一覧部分」と「それ以外」に分け、一覧部分だけを読み込みなおす。 onunloadは「それ以外」に記述する。 見た目をかえたく無いのであればサイズ0のフレームにする。 2.再表示しない 再表示せずに登録した行を挿入する。 リアルタイムじゃなくなりますね。 3.フラグ判別 更新時に、親画面の隠し項目の値を設定。 onunload時にその値で判断。 注意点は、判断後に値を戻す。 私の思いつくものはこれだけです。 既存のものがある程度出来上がっているのであれば1は却下。面倒そう。 複数ユーザの更新頻度が多ければ2は却下。 残るは3。フラグではダメなのでしょうか? を!ひらめいた! 4.モーダルにする 子画面を表示している時は親画面を触らせない。 そうする事で、子画面が表示されている時は親画面を消される心配が無い。 子画面に「登録して閉じる」ボタンと「登録後、閉じない」ボタンを用意する。 出来るかどうかは分かりませんが。 思いつきで記述して申し訳ありません。

chitama
質問者

お礼

丁寧なご説明をありがとうございました! 3番目を参考にさせて頂きました! 単なる画面の表示なのか、それとも更新後の画面の表示なのか・・・ をフラグで判断する事になりました。 本当にありがとうございました。

関連するQ&A

  • ブラウザのウィンドウ制御についての質問です。

    ブラウザ(Netscape7.6)のウィンドウの制御について質問させてください。 お詳しい方がおられましたら、教えて頂きたいのですが・・・ 親画面・子画面・孫画面と3つのJSPファイル・3つの画面がある状態で、 若くなるほど、詳細な情報をあらわすようになっています。 親画面からリンク部をクリックすると、 子画面の新しいブラウザが立ち上がり、 その子画面のリンク部分をクリックすると、 子画面を表示していたブラウザで、孫画面(登録画面)が表示されます。 (要するに、ブラウザ自体は、親画面と 子画面又は孫画面の二つが上がった状態です) 孫画面が、登録画面で、登録を終了したあと、孫画面は閉じて、 親画面と子画面を、今孫画面で登録した内容を反映させる為 更新(再読み込み)させたいのです。 孫画面を作っているJSPファイルから、登録終了後サブミットしているのですが、 そのとき、サブミットを、親画面と子画面の両方にかけたいのです。 (同じタイミングで再表示させたい) 孫画面の<FORM>タグのACTIONのところで、カンマ区切りで、親画面と子画面を 呼ぶようにやってみたのですが、子画面は再表示されますが 親画面はピクリとも動きません。 やはり、親画面の再表示は子画面からサブミットしなければ ならないのでしょうか? なにか、いい方法がありましたら、教えていただけないでしょうか? 親・子画面を両方いっぺんんい再読み込みさせる方法が ありましたら、教えてください。 おねがいいたします。

  • 排他制御の方法

    現在、PWS+ASP+ACCESSを使用し開発を行っていますが排他制御で悩んでいます。 ASPは、ステートレスなセッションでの制御しか出来ないため、ページを表示後のデータの変更はスタンドアロンでの更新のような形になってしまうと思います。 以下のような方法で行っている実例を見たことがありますが、少なからず問題も抱えていると思います。 ・レコード毎に排他フラグを保持する ~ 処理がアベンドした場合にフラグが残る(一定時間後に解除という方法もありますが) ・レコード毎に更新時間を持ち、読込時の更新時間と更新時の更新時間とを比較し更新されていない時だけ更新をかける ~ 後に更新をかけようとした変更が無駄になる 上記の方法以外で、排他制御を実現させる良い方法はないのでしょうか。他の方法で実現しているときは、その方法を教えて頂けませんでしょうか。 ※PWS→IIS、ACCESS→SQLServerに変更する可能性はあります。 (セッションオブジェクト・アプリケーションオブジェクト等を使用しての実現方法など) 宜しくお願いします。

  • VB.NET 排他制御

    VB.NET ORACLE9iです。 あるWebシステムをVB.NETで開発しています。 やりたいことは、画面の排他制御です。 つまり、ある画面(検索結果一覧表示)を表示できるのは同時に1ユーザのみとしたいのです。 その画面を見終わった(他画面に移った)タイミングが分かりません。 ご教授をお願いします。

  • ヤフー掲示板について

    ヤフー掲示板をいくつかお気に入りに登録しています。 どの掲示板も、掲示板検索で検索してその画面を開いてお気に入りに登録という感じでやっています。 次にお気に入りから来た時に、いくつかの掲示板は最新の書き込みから一覧で表示されていますが、いくつかの掲示板は一覧の一番上がお気に入りに登録した時の書き込みのままなので、最新というところを押してまた一覧を押さなければならずとても不便です。 登録のしかたは同じなのにどうして更新されているものとそのままのものとあるのでしょうか? 書き込みが無いから更新されないというわけではありません。 コンピューターの設定等はいじっていません。 登録した時のままになっている方の掲示板を最新の書き込みが表示されるようにしたいのですが、どうすればいいのでしょうか?

  • JSPのページ移動

    書き込み一覧が表示してあるJSPの入力フォームがあり、そこで入力をして「書き込み」ボタンを押すと入力したデータが、DBへ登録するサーブレットへ飛び、入力をした画面上では「書き込みました」のようなHTML画面が表示されるとします。その画面で「TOPへ戻る」ボタンを押すと、今度は検索サーブレットが動き、DBから最新の一覧が引っ張り出され、登録更新後の書き込み一覧JSPが画面上に出るとします。ここで質問なのですが、「書き込み」ボタンを押すと同時に登録サーブレットと検索サーブレットを動かすことは出来ないのでしょうか?理想としては、「書き込みました」のようなHTML画面は使用せず、一気に更新後の一覧を表示させたいのです。

  • 親ウィンドウと子ウィンドウの制御について、教えて下さい!

    親ウィンドウと子ウィンドウの制御について、質問です。 子ウィンドウを開いた状態で、親ウィンドウを閉じた時に 連動して子ウィンドウを閉じたいのですが、閉じません。 (複数の子ウィンドウの内、閉じるモノと閉じないモノがあります。  同じ記述をしているんですが...) よろしくお願いします。

    • ベストアンサー
    • HTML
  • JSPとサーブレット

    書き込み一覧が表示してあるJSPの入力フォームがあり、そこで入力をして「書き込み」ボタンを押すと入力したデータが、DBへ登録するサーブレットへ飛び、入力をした画面上では「書き込みました」のようなHTML画面が表示されるとします。その画面で「TOPへ戻る」ボタンを押すと、今度は検索サーブレットが動き、DBから最新の一覧が引っ張り出され、登録更新後の書き込み一覧JSPが画面上に出るとします。ここで質問なのですが、「書き込み」ボタンを押すと同時に登録サーブレットと検索サーブレットを動かすことは出来ないのでしょうか?理想としては、「書き込みました」のようなHTML画面は使用せず、一気に更新後の一覧を表示させたいのです。 この辺の知識はあんまり無いもので、具体的な記述方法を教えて頂くと嬉しいです。

    • ベストアンサー
    • Java
  • サブウィンドウの画面制御について

    過去スレを確認しましたが、同じようない内容のモノがなかったため質問させて頂きます。 サブウィンドウ画面の制御についての質問なのですが、 親→子→孫といったように3画面同時に表示する場合があります。 この時、親を閉じると子と孫も、子を閉じると孫も同時に閉じたいと思っています。 しかし親から子、子から孫といったように一階層だと閉じることができますが、 親から孫と二階層になると閉じる事ができません。 どなたか解決方法をご存知の方がおられましたら、 ご教授頂けますでしょうか。 よろしくお願いします。 実装内容は以下のようになっています。 (必要部分以外は省略しています) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ----------------子画面用JavaScript-------------------- ◆子を開く function openWin1(){ subWin1 = window.open(url,"subWin1",""); } ◆子を閉じる function closeWin1(){ if(typeof(subWin1) != 'undefined') { // 子ウィンドウを閉じる subWin1.close(); } // 孫ウィンドウを閉じる closeWin2(); } ----------------------------------------------------- ---------------孫画面用JavaScript-------------------- ◆孫を開く function openWin2(){ subWin2 = window.open(url,"subWin2",""); } ◆孫を閉じる function closeWin2(){ if(typeof(subWin2) != 'undefined') { // 孫ウィンドウを閉じる subWin2.close(); } } ----------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++

  • キャッシュ制御について

    ページが更新されています 新しいページを読み込みますか? (このメッセージが頻繁に表示される場合はプラウザのキャツシュ制御の設定を見直してみてください) このような表示が出たならばどこで設定を変えられますか。 宜しくお願いいたします。

  • Formの制御について

    Formの制御について .NET C#で開発をしております初心者です。 親Formからボタンを押して子Formを開き、その子Formを開いたままで、 また親Formから、違うボタンを押したら別の子Formを開きたいのですが、 最初の子Formを閉じなければ、親FormがActiveになりません。 どの様な記述をしたら宜しいのでしょうか。 ご教授頂きたく、宜しくお願い致します。

専門家に質問してみよう