naritanと申します。

現在、ファイルのアップロード機能を作成しております。

親ウィンドウから子ウィンドウを開いて、開いた子ウィンドウでアップロードするファイルを選択し、ボタンを押下時にcgiを実行して実現しています。

そこで、子ウィンドウでボタンを押下した時に、選択したファイルの名前を親ウィンドウに表示したいと思い、ボタン押下時にまず、javascriptに処理を移し、openerメソッドを使用して実現しようとしているのですが、「アクセスが拒否されました」というjavascriptのエラーが表示されてしまいます。

記述は以下のようにしています。
--------------------------------------------------
window.opener.document.FORM1.file_nm.value = str2;
--------------------------------------------------
※str2:ファイル名保持変数
※file_nm:親ウィンドウFORM1上のテキストボックス名

ちなみに親ウィンドウと子ウィンドウの拡張子は異なっているので、ためしに拡張子を合わせて実行してみたところ、ファイル名は親ウィンドウに表示されたのですが、cgiが動かなくなってしまいました。

ちなみに親ウィンドウはhtsファイル、子ウィンドウはhtmlファイルです。

お分かりになる方が見えましたら、ご教授願います。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

HTSというものについてはさっぱりわからないのですが、「Web上の著作権問題、引用問題になんたら・・・」というものみたいなので、外部からの勝手な参照ができないのではないですか?



同じように、SSL認証のかかったhttps://・・・なページから、http://なサブウィンドウを開いたことがありますけれども、やはり親ウィンドウを参照することはできませんでした。

子ウィンドウをhts環境下で作成するわけにはいかないのでしょうか?
(すみません。htsがわかっていないので、見当はずれでしたらご容赦ください。)
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

Q別窓ウィンドウから親ウィンドウの操作でopener.location.hrefで親ウィンドウに渡せる文字数について

非常に困っています。良かったら教えて下さい。
サブウィンドウズを閉じたときに親ウィンドウにある値を
渡して飛ばしたいのですが、かなり項目数が多くて、
javascriptエラーになります。
渡せる文字数は、何文字いないとかいう規定はあるのですか?
教えて下さい。

もし、あるのであれば、代替案はありますか?

Aベストアンサー

サンプル作ってみた

---"main.html"---
<form onsubmit="
window.name='main';
window.open('sub.html', '_blank');
return false;
">
<input type="submit" value="sub">
</form>


---"sub.html"---
<form action="http://www.google.com/search" target="main" >
<input name="q" value="javascript">
<input type="button" value="検索" onclick="
this.form.submit();
window.close();
">
</form>

Q親ウィンドウから子ウィンドウの子ウィンドウを閉じたい

 親ウィンドウから子ウィンドウを開き、
その子ウィンドウで子ウィンドウ(孫ウィンドウ?)を開きます。
その状態で、親ウィンドウの画面移動で、子ウィンドウと孫ウィンドウを閉じたいのですが、できません。

JavaScript1--
 ssWin = window.open('---');
----
JavaScript2---
if(ssWin != null){ if (!ssWin.closed){ssWin.close(); }}
------
子ウィンドウまでは上記の方法で閉じれるのですが、孫ウィンドウの制御となると、どうやったらいいかわかりません。
 どなたかすいませんが、いい方法がありましたら、ご教授くださいませ。

Aベストアンサー

ちょっと名前を整理させて下さいませ。
親ウィンドウ→子ウィンドウ→孫ウィンドウ
という呼び名で呼ばせて頂きます。

あくまでアドバイス程度の物しかできないので何か他にいい方法があるのかもしれないですが、TENEHTさんはJavaScriptで普通の関係ならばウィンドウ制御プログラムはできる方とお見受けしますので簡単に書かせて頂きますね。

☆案1
【1】子ウィンドウに孫ウィンドウを閉じる関数を実装する。
【2】子ウィンドウ内、BODYタグのonUnloadで上記関数を実行する。
【3】親ウィンドウから子ウィンドウを閉じると孫ウィンドウが子ウィンドウによって閉じられる。

☆案2
【1】子ウィンドウに孫ウィンドウを閉じる関数を実装する。
【2】親ウィンドウから子ウィンドウ内の孫ウィンドウを呼び出す関数を実行する。
【3】親ウィンドウから子ウィンドウを閉じる。
※子ウィンドウ内の関数はssWin.○○()という形で簡単に呼び出せます。

こんな感じの実装で如何でしょうか?

Q親ウィンドウから子ウインドウへデータを渡し、子ウインドウから親ウィンドウへ違うデータを渡す

この様にそれぞれ記述してありますが、
親ウィンドウのtextbox(kashu_1)に'SMAP'と入力し、
'歌手コードを検索'と書かれたリンクをクリックすると、
親ウィンドウのtextbox(kashu_1)から子ウインドウのtextbox(kashu_1)にデータを渡し、
更に、子ウインドウの'歌手コードを親ウィンドウに入力'と書かれたリンクをクリックすると、
子ウインドウのtextbox(kashu_cd_1)の内容'001'を親ウィンドウのtextbox(kashu_cd_1)にデータを受け渡したいのですが、いろいろ奮闘しましたができませんでした。

【親ウィンドウ】
<form method="POST" action="search.html" accept-charset="UTF-8" name="myFormA">
<input size="20" type="text" name="kashu_1">
<input size="20" type="text" name="kashu_cd_1">
<a href="">歌手コードを検索</a>
</form>

【子ウインドウ】
<form method="POST" action="search.html" accept-charset="UTF-8" name="myFormB">
<input size="20" type="text" name="kashu_1">
<input size="20" type="text" name="kashu_cd_1" value="001">
<a href="">歌手コードを親ウィンドウに入力</a>
</form>

この様にそれぞれ記述してありますが、
親ウィンドウのtextbox(kashu_1)に'SMAP'と入力し、
'歌手コードを検索'と書かれたリンクをクリックすると、
親ウィンドウのtextbox(kashu_1)から子ウインドウのtextbox(kashu_1)にデータを渡し、
更に、子ウインドウの'歌手コードを親ウィンドウに入力'と書かれたリンクをクリックすると、
子ウインドウのtextbox(kashu_cd_1)の内容'001'を親ウィンドウのtextbox(kashu_cd_1)にデータを受け渡したいのですが、いろいろ奮闘しましたができませんでした。

【親ウィン...続きを読む

Aベストアンサー

とりあえずidを振ってやるのが一番らくなので以下のようにしてみました
子ウィンドウを小さく開く場合は、window.openなどで別途child.htmlを開いてください

//parent.html
<html>
<head>
<title>parent window</title>
</head>
<body>
<form method="POST" action="search.html" accept-charset="UTF-8" name="myFormA">
<input size="20" type="text" name="kashu_1" id="kashu_1" value="SMAP">
<input size="20" type="text" name="kashu_cd_1" id="kashu_cd_1" value="">
<a href="child.html" target="_blank">歌手コードを検索</a>
</form>
</body>
</html>

//child.html
<html>
<head>
<title>child window</title>
<script>
window.onload=function(){
var v=this.opener.document.getElementById("kashu_1").value;
document.getElementById("kashu_1").value=v;
}
function setParentWindow()
{
var v=document.getElementById("kashu_cd_1").value;
this.opener.document.getElementById("kashu_cd_1").value=v;
//this.close();
//子ウィンドから親に返したときに子を閉じる場合は上行を有効に
return false;
}
</script>
</head>
<body>
<form method="POST">
<input size="20" type="text" name="kashu_1" id="kashu_1">
<input size="20" type="text" name="kashu_cd_1" id="kashu_cd_1" value="001">
<a href="#" onclick="return setParentWindow();">歌手コードを親ウィンドウに入力</a>
</form>
</body>
</html>

とりあえずidを振ってやるのが一番らくなので以下のようにしてみました
子ウィンドウを小さく開く場合は、window.openなどで別途child.htmlを開いてください

//parent.html
<html>
<head>
<title>parent window</title>
</head>
<body>
<form method="POST" action="search.html" accept-charset="UTF-8" name="myFormA">
<input size="20" type="text" name="kashu_1" id="kashu_1" value="SMAP">
<input size="20" type="text" name="kashu_cd_1" id="kashu_cd_1" value="">
<a href="child.html" ...続きを読む

Q親ウィンドウのボタンからサブウィンドウを閉じたいのですが・・・。

いつもお世話になっています。
JavaScript初心者です。
window.closeについて質問させて下さい。
メインウィンドウにある「next」という次のページに移るボタンをクリックすると、開かれているサブウィンドウを閉じる処理を実行したいのですが、window.closeを使えばいいということしか分からず、何をどこに書けば良いのか困っています。(サブウィンドウにも「閉じる」ボタンを作成していますが、親ウィンドウからも操作が出来るようにしたいと思っています。)

どうか教えていただけませんでしょうか。

ソースは次の通りです。
-----------------------------

//サブウィンドウの表示
<script language="JavaScript">
function sub(msg){
var page =window.open("", "HintPage","screenX=400,screenY=600,left=400,top=600,width=400,height=250,scrollbars=yes,resizable=yes");
page.document.open();
page.document.writeln("<html>");
page.document.writeln("<head><title>{test}</title></head>");
page.document.writeln("<body leftmargin=\"15\" rightmargin=\"15\" topmargin=\"20\">");
page.document.writeln("<h3>[ {test} ]</h3><hr><br>" + msg + "<br><br><hr><br>");
page.document.writeln("<div align=center>");
page.document.writeln("<input type=button value=close onclick=\"javascript:window.close()\"></div>");
page.document.writeln("</body>");
page.document.writeln("</html>\n");
page.document.close();
page.focus();
}
</script>
</HEAD>

//「next」ボタンの表示
<body>
<table cellpadding=3 cellspacing=5 align="right">
<tr>
<td bgcolor="#9999ff" align="right"><input type="submit" name="next" value="{nextBtn}" style="width: 140px; height: 20.5px;" onClick="setPname('{next}')" {disabled2}></td></tr>
</table>
</body>
----------------------------

どうぞよろしくお願い致します。
説明不足の点がありましたら補足させて頂きます。

いつもお世話になっています。
JavaScript初心者です。
window.closeについて質問させて下さい。
メインウィンドウにある「next」という次のページに移るボタンをクリックすると、開かれているサブウィンドウを閉じる処理を実行したいのですが、window.closeを使えばいいということしか分からず、何をどこに書けば良いのか困っています。(サブウィンドウにも「閉じる」ボタンを作成していますが、親ウィンドウからも操作が出来るようにしたいと思っています。)

どうか教えていただけませんでしょうか。

...続きを読む

Aベストアンサー

サブウィンドウはpageオブジェクトで扱っていますので、
page.close();
で閉じることができます。コレをボタンのクリックイベントで
呼び出すfunctionに記述しておけば閉じるはずです。
このときpageオブジェクトはsub()の中でのみ有効なので、
sub()の外側で宣言しておきます。

以下のような感じかな
<script language="JavaScript">
var page;//変数だけ宣言
function sub(msg){
page=window.open(略);
//略
}
//closeボタンのクリックイベント用
function childClose(){
page.close();
}
あとは<body>のなかでボタン作って呼び出せばできるはずです。
<input type="button" onClick="childClose()" value="close">

この回答では複数のサブウィンドウを扱うとか、サブウィンドウを
開く前に「close」押したらどうするとかは考慮してませんので
必要に応じて付け足してください。

サブウィンドウはpageオブジェクトで扱っていますので、
page.close();
で閉じることができます。コレをボタンのクリックイベントで
呼び出すfunctionに記述しておけば閉じるはずです。
このときpageオブジェクトはsub()の中でのみ有効なので、
sub()の外側で宣言しておきます。

以下のような感じかな
<script language="JavaScript">
var page;//変数だけ宣言
function sub(msg){
page=window.open(略);
//略
}
//closeボタンのクリックイベント用
function childClose(){
page.close();
}
あ...続きを読む

Q子ウィンドウから親ウィンドウへの値渡し

親ウィンドウから子ウィンドウを開くとします。
その子ウィンドウのテキストフィールドに入力した値を、子ウィンドウ上のボタンを押下した際に親ウィンドウのテキストフィールドに表示させることってできるんでしょうか?

Aベストアンサー

window.open() で子ウィンドウを開いた場合、子ウィンドウから見た親ウィンドウの window オブジェクトは
  window.opener
になります。

親ウィンドウ内のテキストフィールドが
  window.document.form1.text1
だとすると、子ウィンドウからは
  window.opener.document.form1.text1
でアクセスできます。

ボタンを押して親ウィンドウに~というのは、およそ次のような感じ。

  function copy2parent(f) {
    window.opener.document.form1.text1.value = f.text1.value;
  }
      :
  <FORM>
   <INPUT type="text" name="text1">
   <INPUT type="button" value="SET" onClick="copy2parent(this.form)">
  </FORM>


人気Q&Aランキング

おすすめ情報