ことの起こり
Webの画面では、新規入力をしようとすると、別ウィンドウ=子ウィンドウが開いて入力し、登録ボタンを押すと、子ウィンドウが閉じる仕組みがある。
子ウィンドウが閉じるだけなら問題ないが、一覧表があって、子ウィンドウが閉じたら、登録された内容を反映したいときがある。
子ウィンドウが閉じるときに、JavaScriptで
window.opener.location.reload(); window.close();
とすれば、 親ウィンドウは再読込みされて、子ウィンドウは閉じられる。
これで問題なければいいが、今回は親ウィンドウ側に検索機能があって、POSTパラメータで処理をしていた。
そのため、同じことをすると、再読み込みの警告が表示されて、いちいちメッセージのOKをクリックしなくてはならなかった。
GETパラメータで処理していれば、発生しない現象なんだけど。
対処方法
対処の仕方は簡単で、子ウィンドウから親ウィンドウの検索のformをsubmitすれば、警告は表示されないで、検索が行われる。
window.opener.$("#search").submit();
window.close();
とすれば子ウィンドウから親ウィンドウのformをsubmitできる。
jQueryを使う書き方で書いたが、getElementById()でも大丈夫なはずだ。
こういった内容は、自分のネタ帳に入れておくと、忘れたときに役に立つ。
この記事では、Webアプリケーションにおける子ウィンドウからの親ウィンドウ更新方法について詳しく説明します。特にJavaScriptとjQueryを使用した具体的なコード例を提供し、親ウィンドウの検索フォームを自動的にsubmitする技巧を紹介します。


被折叠的 条评论
为什么被折叠?



