- ベストアンサー
フレームを解除する方法
フレームで切ってある、あるページから、フォームで値を送りCGIでページを生成しています。すると、どうしてもフレームが残ったままになってしまいます。フレームを解除したいのですがどのようにすれば、よろしいのでしょうか? 大変困っています。よろしくお願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
フォームタグの最初で、 <form action="xxx.cgi" method="POST" target="_top"> のようにtarget属性を_topに指定すれば、 CGIの結果がブラウザの枠全体に表示されますよ。 targetの種類は以下のURLを参考にしてみてください。 特にJavaScriptを使う必要はありません。
その他の回答 (2)
- kumachan
- ベストアンサー率0% (0/1)
あまり詳しくはないですが、そういう時はCGIで解決をすれば良いのではないでしょうか? 私はCGIでtargetの指定をしています。
お礼
自分もあまり詳しくないので、CGIのtargetというのが分かりません。perl上でフレームの解除ができる知恵があれば、それも偉大なんですけどねー。 手持ちの本には載ってなかった。。。 ありがとうございます。
- Blackwingls
- ベストアンサー率44% (138/313)
こんばんわぁ、Blackwinglsです。 JavaScriptなら以下のようなScriptで如何でしょうか。 なお、動作確認はしていません(^^;) <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=x-sjis"> <title>test</title> <script language="JavaScript"> <!-- function ChangeFrame(CF) { top.location.href=CF } //-->> </script> </head> <body> <form> <input type="button" value="フレームを抜ける" onClick="ChangeFrame('b.htm')"> </form> </body> </html>
お礼
ありがとうございます。 動作も確認できました。ただ、このままでは、CGIに値を送信できないような気がします。(スミマセン、確認してないです。。。) <html> <head> <script language="JavaScript"> <!-- function ChangeFrame(CF) { フレームがないなら抜ける命令 top.location.href=CF } //--> </script> </head> <body onLoad="ChangeFrame('このページ.htm')"> testpage </body> </html> ていうのもいいなーと思いました。 どうもありがとうございました。
お礼
少し、こっぱ恥ずかしい感じがあるのですが、 思った通りにできました。 ありがとうございました。 #javascriptでのフレーム解除も知りたいので少し待ってみます。