- - PR -
子ウィンドウでjavaScriptのsubmit()ができません。
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-12-16 20:36
お世話になります。
いろいろ調べてみたのですが、お手上げ状態になっているので どなたか解決の糸口でもよいのでお教えください。 現在、親画面で検索項目を表示し、子画面にて検索結果を表示する。という機能を作成しています。 その際、子画面を一定時間ごとにリロードするため、 再度javaScriptでsubmitをしたいと考えています。 親画面(oya)でsubmit()を実行する時は、 function win_open() { //v2.0 w = window.open('about:blank', 'koWindow'); //submitで画面遷移する対象画面を指定 document.form1.target = 'koWindow'; document.form1.submit(); } を実行すれば、正常に子画面が開かれます。 その後、子画面にて、 function targetForm(){ document.form1.submit(); } という関数を実行すると、javaScriptエラーが発生し、 使用できないプロパティ、もしくはメソッドです。とエラーが出ます。 function targetForm(){ window.opener.document.form1.submit(); } とすれば、submit自体は成功するのですが、 中身の情報が親画面の情報のため、正常にリロードできない状態です。 最終的に子画面の情報をsubmit()できれば問題ないのですが、 何か解決策がありましたら教えていただきたいです。 また、そもそも不可能等の助言もありましたら、していただけると幸いです。 よろしくお願いします。 | ||||
|
投稿日時: 2004-12-16 21:31
どうゆう処理をされているのか良く理解できないのですが http://www.friendlysw.com/books/wmjp/ch7/07/DataGridFiltering.aspx のように子画面から親画面を操作したらどうでしょうか。 _________________ ASP.NET+Ajaxサンプル集 | JavaScript+Ajaxサンプル集 | ||||
|
投稿日時: 2004-12-17 09:20
Access様 返信ありがとうございます。
質問の仕方がわかりずらく申し訳ありません。 親画面から子画面を表示して、 仮に親画面が消滅しても、子画面だけで独立して情報を保持し、リロードできる仕組みを作りたいと考えています。 そのため、親画面で検索、子画面で検索結果 を各々表示するという点は変えれないんです。 親画面のformをjavaScriptでsubmit()することはできますし、 <html:submit>で、ボタンを押してのsubmitもできます。 が、子画面のformをjavaScriptでsubmit()する時だけエラーとなるので、 対処に困っています。 親画面:検索画面(機関のコードを選択する画面) ボタンをonClickすることで、window.open()し、子画面を表示させます。 子画面:検索結果画面(機関のコードから検索して、結果表示) hiddenで選択された機関のコードを保持しています。 また、 var timerId = setTimeout("targetForm()", 100000); を設定しており、一定時間で再submit()をしたいと考えています。 その際、 function targetForm(){ document.form1.submit(); } を呼び出すと、エラーが出る状況です。 親画面と子画面で同じformを使っています。 何かアドバイスがありましたら、改めてよろしくお願いします。 | ||||
|
投稿日時: 2004-12-17 09:41
子画面にはform1というFORMは存在するのですよね?
| ||||
|
投稿日時: 2004-12-17 09:51
taro様 返答ありがとうございます。
子画面には、form1が存在しています。 結果表示の際、form1から、情報を取り出して、表示しています。 <html:form action="/****/****action01.do" styleId="form1"> <table><tr><td> <htmlx:write name="form1" property="selectKikan"/> ・・・ </td></tr></table> といった具合です。 | ||||
|
投稿日時: 2004-12-17 14:07
親画面子画面両方ASP.NETですか?
実行時にIEに表示されているhtmlをソース表示してみて。 単純な、目的のことだけを行うJavaScriptの入ったhtmlファイルを親と子の2つ作成して、それでJavaScriptの動作確認を行ってみてはいかが。 _________________ たつごろー codeseek こみゅぷらす | ||||
|
投稿日時: 2004-12-18 06:34
> <html:form action="/****/****action01.do" styleId="form1">
なんか、場所間違えてません?ここ、.NET Frameworkですよ?この拡張子、Strutsじゃない? まぁ、それはそれで一つとして。 なんのために「再読込」するのでしょう?更新されたデータが表示できるように、ですよね?であるなら、もう一度“検索する”必要があるのではないですか?検索するための条件を、子画面に持ってきていますか?持ってきていないなら、子画面を提出しても無駄ですよね? _________________ |
1