アプリ版:「スタンプのみでお礼する」機能のリリースについて

あるHTMLから、window.openであらたなウィンドウを開いて、開いたウィンドウにあるリンクをクリックすると、そのリンクの値が元のウィンドウのテキストフォームに入力されるようにしたいのです。
IE6では正常に動いてくれますが、Firefox3で動きません。
新たなウィンドウでは以下の記述をしています。

function junp(value){
window.opener.formtest["test"].value = value;
window.close();
}

window.openerの行をコメントアウトすると正常にウィンドウを閉じます。

そもそもFirefoxでwindow.openerは使えないのでしょうか??

A 回答 (4件)

alert(window);



を実行すると

[object XPCNativeWrapper [object Window]]

と表示されると思います。

XPCNativeWrapperによる制限なので

window.opener.formtest["test"].value = value;
 ↓
window.opener.forms.namedItem("formtest").elements.namedItem("test").value = value;

と変更すれば大丈夫かと。

参考ページの一番下、「XPCNativeWrapper の制限事項」の4と6です。

参考URL:https://developer.mozilla.org/ja/XPCNativeWrapper
    • good
    • 0

window.opener.document.formtest["test"].value=value;


の間違いではないですか?
    • good
    • 0

きょうびformに名前をつけて管理するのはどうかと思いますが


documentからおっかければアクセスできないことはありません。

//main.htm
<form name="formtest">
<input type="text" name="test" value="hoge">
<input type="button" value="open" onclick="window.open('sub.htm','_blank','width=600,height=400')"
</form>

//sub.htm
<script>
function junp(value){
opener.document.forms["formtest"].elements["test"].value = value;
window.close();
}
</script>
<input type="button" value="fuga" onclick="junp('fuga')">
    • good
    • 0

Firefoxのエラーコンソールには何と書いてありますか?

この回答への補足

エラー: window.opener.formtest is undefined

と出ています。

補足日時:2008/12/24 20:54
    • good
    • 0

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