- ベストアンサー
submitボタンで他のフレームを更新する方法
- submitボタンで他のフレームを更新する方法が分かりません。
- A.phpのフォーム内のsubmitボタンクリックのタイミングでA.phpはC.phpに遷移するが、同時にB.phpもD.phpに遷移させたい。
- 方法をご存知のかたがいましたら教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ページ移動はlocation.hrefです。 <form action="C.php" target="AAA" onsubmit="top.BBB.location.href='D.php';">
その他の回答 (1)
- yyr446
- ベストアンサー率65% (870/1330)
<frameset>があるhtml(又はPHP)はC.PHPと同じドメインですよね。 だったら、 C.PHPのjavascriptで自身のonloadのイベントで、親ページをチェックして、 BBBのsrc属性を書き換えてやればよいかと、思います。 C.PHPから見た親(window)は、window.parent で参照できます。 if(window.parent.location.href == "hoge"){ for (var i = 0; i < window.parent.frames.length; i++) { if(window.parent.frames[i].name="BBB") window.parent.frames[i].src="D.php"; } }
お礼
ご回答有難うございました。 location.hrefで望みどおりできました。
補足
ご回答有難うございました。 説明不足でした。 C.phpの処理時間が長いため、別フレームでD.phpを表示して進行状態を表示しようとしています。 教えて頂いたようものを真似てに以下の関数を作成したのち ////////////////////////////////////////////////////////// function Refresh() { for (var i = 0; i < window.parent.frames.length; i++) { if(window.parent.frames[i].name == "BBB") { window.parent.frames[i].src = "D.php"; } } return true; } ////////////////////////////////////////////////////////// C.phpに <body onload="return Refresh();"> を追加したり A.phpに <input type="submit" value="Start" onclick="return Refresh();"> を追加したのですが B.phpがD.phpに更新されません。 また、src属性の更新前の中身をalertでデバッグするとundefineとなっていました。 何かお気づきの点などありましたら教えてください。宜しくお願い致します。
お礼
location.hrefで望みどおりできました。 有難うございました。