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

フォームの値を通常
<input name="Reload" type="hidden" value="1" id="Reload" />
で飛ばしていますが、サブウィンドウで操作後識別のために
window.opener.document.getElementById('Reload').value=2
と値を変更するようにしていました。
しかし、IE6では動くのですがFirefoxでは値が変更できずに悩んでいます。
良い解決法があればよろしくお願いいたします。

A 回答 (2件)

WinXP SP2


Firefox 2.0.0.14
では現象を確認できませんでした。

一度、全てのソースを開示してみてはどうでしょうか?

この回答への補足

ご指摘ありがとうございます。
フォームのアクションは同じページで、aspにて
<input name="Reload" type="hidden" value="1" id="Reload" />
valueの値(value="1")をリクエストで受けて、動作を変更しています。
サブウィンドウ側でvalueの値を(value="2")に書き換えるよう下記のように記述しています。
'===============================================================
<script>
window.opener.document.getElementById('form1').submit();
window.opener.document.getElementById('Reload').value=2;
window.opener.document.getElementById('form1').submit();//ページをリロード
window.close();
</script>
'===============================================================
IEではvalueの値2で受け取れているのですが、Firefox では1しかかえってきませんでした。

補足日時:2008/05/09 15:13
    • good
    • 0

// この時点では、Reloadの値が1


window.opener.document.getElementById('form1').submit(); //Reloadの値が1で送信
// submitしている時点で、以下の処理では、window.openerが読み込み中の恐れ在り。(サーバーやローカルや回線の環境次第、又はform1のaction次第で関係ない)
// この時点では、Reloadの値は1だろうが、window.openerが読み込み中で、値を参照できない恐れ在り。
window.opener.document.getElementById('Reload').value=2;//window.openerが読み込み中で、値を設定できない恐れ在り。
// valueを正しく設定できれば、この時点では、Reloadの値が2。
window.opener.document.getElementById('form1').submit();//Reloadの値が1又は2で送信(又はwindow.openerが読み込み中で送信できない)
//submit完了後は初期値の1に戻るだろう
    • good
    • 0
この回答へのお礼

解説ありがとうございます。
お陰で様で下記の様に修正し、成功することができました。
<script>
window.opener.document.getElementById('Reload').value=2;
window.opener.document.getElementById('form1').submit();
window.opener.document.getElementById('form1').submit();//ページをリロード
window.close();
</script>

お礼日時:2008/05/09 18:36

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