htaについて。親画面子画面を認識したい

このQ&Aのポイント
  • htaを使用して親画面と子画面の値受け渡しと親画面の最前面表示を行いたいが、htaでopenerを使う方法が分からない。
  • 現在、ローカルPC内で本番環境に触れる前のシミュレーション用にhtaを使用して擬似環境を作成している。
  • htaを切り替えて同じように動かそうとすると、window.opener.frm1がNullまたはオブジェクトではないというエラーが表示される。
回答を見る
  • ベストアンサー

htaについて。親画面子画面を認識したい

現在ローカルPC内で本番環境をさわる前のシュミレーション用にhtaを使って擬似環境を作っています。 htaで親画面子画面での値の受渡しやopenerを使って親画面を最前面に表示をしたいと思います。 以下のhtmlだとうまく値を受渡し後、親画面を最前面に表示できたのですがhtaにhtmlを切り替えて 同じように動かそうとすると以下のエラーがでました。 [window.opener.frm1はNullまたはオブジェクトではありません。] ネットで調べてみましたがhtaでopenerを使う方法などがうまく見つかりません。 どなたかご教授願います。宜しくお願いいたします。 *テストした内容 --親window(test1.html)-- <HTML> <HEAD> <META HTTP-EQUIV="Content-Language"CONETNT="ja"> <META HTTP-EQUIV="Content-Type"CONTENT="text/html;CHARSET=shift_jis"> <TITLE><練習用>エリア応対支援</TITLE> <Script Language="JavaScript"> resizeTo(400,400); function wopen4(){ window.open('test2.html','_blank'); } </SCRIPT> </HEAD> <BODY> <FORM name="frm1"> <input type ="button" onClick="wopen4()" value="子オープン"><br> <input ="text" NAME="text1"> </FORM> </BODY> </HTML> --子window(test2.html)-- <HTML> <HEAD> <META HTTP-EQUIV="Content-Language"CONETNT="ja"> <META HTTP-EQUIV="Content-Type"CONTENT="text/html;CHARSET=shift_jis"> <TITLE>子ウィンドウ</TITLE> <Script Language="JavaScript"> resizeTo(300,400); function w_od(){ window.opener.frm1.text1.value=frm2.text2.value; } function w4cus(){ window.opener.focus(); } </SCRIPT> </HEAD> <BODY> <FORM name="frm2"> <input ="text" class="inset2" NAME="text2"> <input type="button" class="outset4" onclick="w_od();w4cus()" value="設定" > </FORM> </BODY> </HTML>

  • HTML
  • 回答数1
  • ありがとう数0

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

  • ベストアンサー
  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

ローカル環境でテストする時にあえて、htaにする必要は無いと思います。 パス名が無い時、 Windows IE なら http://server/ でなくても file:///c:/カレントディレクトリー で htmlを読み込んでくれます。 htmlのままテストすれば、window.openerの参照は可能です(IEだけですけど)

関連するQ&A

  • netscape 4.78での親子間でのデータ受け渡し

    以下のように親の画面から子画面を呼び出して子画面から親のテキストボックスの値を変更したいのですが、ネスケの場合だと????と表示されてしまいます。 親の画面を一度再読込みして再度子画面を呼び出して同じことをやると文字化けしません。 何か記述の仕方が誤っているのでしょうか? ご存知の方がいらっしゃいましたらご教授頂けると助かります。 親の画面 <html> <head> <Meta HTTP-EQUIV="Content-Type" Content="text/html; charset=Shift_JIS"> <title>test</title> <script language="JavaScript"> <!-- function WinOpen() { classWin = window.open( "test.htm", "sub", "width=750, height=220") }// --> </script></head> <BODY > <table border="0" align="center"> <form method="POST" name="REGIST"> <tr><td> <INPUT TYPE="TEXT" name="Category" VALUE=""> </td> <td rowspan=3> <INPUT TYPE="BUTTON" name="CHG_CATEGORY" VALUE="選択" onClick="WinOpen();"> </td> </tr></form></table> </body></html> 子画面================================================== <HTML> <HEAD> <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache"> <META HTTP-EQUIV="Pragma" CONTENT="no-cache"> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <script language="JavaScript"> function color1(){ window.opener.document.bgColor="CCCCCC"; window.opener.document.REGIST.Category.value = "あいうえお"; } </script> </head> <body> <FORM NAME="enq"> <INPUT TYPE=BUTTON VALUE="グレー" onClick="color1()" ENCTYPE="multipart/form-data"> </form> ボタンをクリック </body> </html>

  • このソースどういう意味ですか【JavaScript】

    <HTML> <HEAD> <TITLE>JavaScript Sample</TITLE> <META HTTP-EQUIV="Content-Script-Type" CONTENT="text/javascript"> </HEAD> <BODY> : <INPUT TYPE="button" VALUE="OK" onClick="~"> : </BODY> </HTML> このソースの中の <META HTTP-EQUIV="Content-Script-Type" CONTENT="text/javascript"> の部分ってどういう意味ですか? 特にTypeとHTTP-EQUIVの部分については個別で詳しく知りたいです。 回答よろしくお願いします。

  • データの引継ぎについて

    はじめまして 早速ですが、「test-1.html」のダイアログをsubmitし、「はい」が 選択された場合「test-2.html」のある値(value="0")に1を加算させ たいのですがデータの引渡し(加算)方法がよくわかりません。 JavaScript間もしくは、JavaScriptとHTML間でのデータの引渡し 方を教えていただけないでしょうか? 宜しくお願いいたします。 「test-1.html」↓ <html> <head> <title>tets1</title> <meta http-equiv="Content-Style-Type" content="text/html; charset=EUC-jp"> <script language="JavaScript"> <!-- function window_confirm(){ if(window.confirm("加算しますか?")){ window.alert("加算されました。"); document.form1.es_no2.value = "1" }else{ window.alert("キャンセルが選択されました。"); } } //--> </script> <body> <form action="test-2.html" method="post" name="form1" onclick="window_confirm()"> <input type="submit" value="改定"> </form> </body> <html> 「test-2.html」↓ <html> <head> <title>tets2</title> <meta http-equiv="Content-Style-Type" content="text/html; charset=EUC-jp"> <body> <form action="test-3.html" method="post" name="form2"> <input type="text" name="no_2" value="0" id="#" > <input type="submit" value="次へ"> </form> </body> <html>

  • 確認ページが表示できない

    以下にフォームと確認ページ(CGI)があります。確認ページを表示すると「window.opener.documentはnullまたはオブジェクトではありません」という表示がでます。どこが問題でしょうか (フォーム) <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>フォーム</title> </head> <body> <form name="user" action="kakunin.cgi" method="post"> <p>メール  <input name="mail" type="text" value="" size="30">                      <input type="submit"" value="確認"> <input type="reset"" value="リセット"> </form> </td> <td width="148">&nbsp;</td> </tr> </table> </body> </html> ーーーー 確認ページ #! /usr/bin/perl print<<END; Content-type: text/html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html> <head><title>確認</title> <script language="JavaScript1.1" type="text/javascript"><!-- var win; function fun(){ win=window.opener.document.all.user.mail.value; window.document.kuser.kmail.value=win; window.opener.close(); } //--> </script> </head> <body onLoad="fun();"> <form name="kuser"> <input TYPE="text" NAME="kmail" value =""> <p> <input name="button" type="submit" value="送信"> </p></form> </body> </html> END

    • ベストアンサー
    • CGI
  • メールの形で、入力メールを到着させたい(取得したい)のですが。

    メールの形で、入力メールを到着させたい(取得したい)のですが。 以下のソースを作り、結果も上手く表示されたのですが、入力してもらったメルアドを メールの形式で、ウェブマスター側に到着させたい(取得したい)のですが、 タグの入れ方が判りませんん。 ご教授御願い致します。 宜しく御願い致します。 <HTML><HEAD> <META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=Shift_JIS"> <META HTTP-EQUIV="Pragma" CONTENT="no-cache"> <META NAME="robots" CONTENT="all"> <TITLE></TITLE> <SCRIPT language="JavaScript"> <!--HPB_SCRIPT_CODE_40 function _HpbJumpURLinNewWindow(url) { if (url != '') { window.open(url, '_blank'); } } //--> </SCRIPT></HEAD> <BODY> <p>メールアドレスを入力してください。送信ボタンを押すと、トライアル版のダウンロードページが開きます。 <FORM> <TABLE BORDER="1" CELLSPACING="0" CELLPADDING="3"> <TR> <TD>メールアドレス</TD> <TD> <!-- メールアドレス --> <INPUT type="text" name="Page01:01" value="" size="59"> </TD> </TR> </TABLE> <INPUT TYPE="hidden" NAME="" VALUE=""> <INPUT TYPE="hidden" NAME="" VALUE=""> <INPUT TYPE="hidden" NAME="" VALUE="1"> <INPUT type="submit" value="送信" onclick="_HpbJumpURLinNewWindow('http://www.***.com/');">&nbsp;&nbsp;<INPUT TYPE="reset" VALUE="リセット"> </FORM> </BODY> </HTML>

  • javascriptを使用したリンクについて

    <HTML> <HEAD> <TITLE></TITLE> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> </HEAD> <Script Language ="javascript"> <!-- function move(){ document.frm.action = "https://www.e-xxxx.com/yyyy/mmmm.jsp"; document.frm.submit(); } //--> </Script> <BODY onLoad="move()" bgcolor="#FFFFFF"> <FORM NAME="frm"> <INPUT TYPE="hidden"> </FORM> </BODY> </HTML> でジャンプさせようと思っているのですが、ジャンプ先のURLに「?」が入ってしまいます。(⇒https://www.e-xxxx.com/yyyy/mmmm.jsp?) どうすれば、じゃまな「?」をとることが出来るのでしょうか?ご教示いただけましたら幸いです。

  • 親フレームの変数にアクセス(JavaScript)

    [index.html] <script src="script.js"></script> <frameset rows="50%,*" frameborder="1"> <frame src="content1.html"name="cont1"> <frame src="content2.html" name="cont2"> </frameset> [script.js] var test_text="てすと"; [content1.html] <form> <input type="text" name="in"> <input type="button" onClick="window.parent.test_text = document.forms[0].in.value;" value="IN"> </form> [content2.html] <form> <input type="text" name="out"> <input type="button" onClick="document.forms[0].out.value = window.parent.test_text;" value="OUT"> </form> のようになっています。 「index.html」の「script.js」の変数に、「content.1html」と「content2.html」からアクセスしたいです。 ですが、フレームになっているため、思うような動作をしてくれません。 よろしくお願いします。

  • リダイレクト時のURLクエリ文字列の取得

    hoge.html <html> <head> <meta http-equiv="content-type" content="text/html; charset=euc-jp" /> </head> <body> <script language="javascript"> <!--// function windowOpen() { window.open("hoge.php?name=" + document.getElementById("data").value, "new_window"); } --> </script> <input type="text" id="data" /> <input type="button" value="new window" onclick="windowOpen()" /> </body> </html> hoge.php <html> <head> <meta http-equiv="content-type" content="text/html; charset=euc-jp" /> </head> <body> <?php echo $_GET['name']; ?> </body> </html> このようなスクリプトがあった時(表示の際の文字コードは任意で)、 文字列をエンコードせずJavaScriptからURLをリダイレクトさせている為、 IE6では、PHP側の$_GET['name']が正常に受け取る事が出来ません。 (Firefoxではアクセスした時点で自動的にURLエンコードしてくれるので 問題ないのですが) これを、JavaScript側でURLエンコードさせてからリダイレクトさせるのではなく、 PHP側で回避させる為にはどういった作業をどういう手順で行えばいいのでしょうか?

    • ベストアンサー
    • PHP
  • FireFoxでfocus()が上手く動かない

    javascriptを使って、 フォームのテキストエリアの入力文字数をチェックし、 オーバーしていれば、アラートを出し、テキストエリアにフォーカスを移動させる。 ようにしようとしています。 IEでは動いてのですが、FireFoxだと上手くフォーカスが移動してくれません。 どこがまずいのか、教えてください。 コード <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <script type="text/javascript"> <!-- function checkText(aText) { if (aText.value.length > 1) { alert('サイズオーバーです'); aText.focus(); } } //--> </script> </head> <body> <form method="post" action="#"> <input type="text" name="fmTitle" onBlur="checkText(this)"> <input type="text" name="dummy"> </form> </body> </html>

  • このJavaScriptはなんか早い・・・

    <html> <head> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META name="GENERATOR" content="IBM WebSphere Studio Homepage Builder Version 6.5.0.0 for Windows"> <META http-equiv="Content-Style-Type" content="text/css"> <TITLE>タイマー</TITLE> </head> <body> <script language="JavaScript"><!-- myCnt = 0; myTim = 0; function myGo(){ mySelect = document.myForm.myMenu.selectedIndex; myCnt = eval(document.myForm.myMenu.options[mySelect].value); myTim = setInterval("myTimer()",1000); } function myTimer(){ myCnt = myCnt-1; document.myForm.myFormSec.value = myCnt + " 秒"; if (myCnt == 0){ clearInterval(myTim); alert("制限時間を終了しました。"); } } // --></script> <CENTER> <form name="myForm"><select name="myMenu" size="1"> <option value="180">時間制限は? </option> <option value="600">10分 </option> <option value="300">5分 </option> </select> <input type="button" value="GO!" onclick="myGo()">                            あと<input type="text" size="15" name="myFormSec"> です。</form> </CENTER> <form> <center><input type="button" value="閉じる" onclick="window.close()"> </center> </form> </body> </html> 上のものを実行させると、なぜかスピードが早くなってしまいます。 どうすればいいのでしょう。 お願いします。

専門家に質問してみよう