• ベストアンサー

フレームを解除する方法

フレームで切ってある、あるページから、フォームで値を送りCGIでページを生成しています。すると、どうしてもフレームが残ったままになってしまいます。フレームを解除したいのですがどのようにすれば、よろしいのでしょうか? 大変困っています。よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • y_oku
  • ベストアンサー率62% (25/40)
回答No.1

フォームタグの最初で、 <form action="xxx.cgi" method="POST" target="_top"> のようにtarget属性を_topに指定すれば、 CGIの結果がブラウザの枠全体に表示されますよ。 targetの種類は以下のURLを参考にしてみてください。 特にJavaScriptを使う必要はありません。

参考URL:
http://wakusei.cplaza.ne.jp/twn/html/attr/target.htm
noname#107402
質問者

お礼

少し、こっぱ恥ずかしい感じがあるのですが、 思った通りにできました。 ありがとうございました。  #javascriptでのフレーム解除も知りたいので少し待ってみます。

その他の回答 (2)

  • kumachan
  • ベストアンサー率0% (0/1)
回答No.3

あまり詳しくはないですが、そういう時はCGIで解決をすれば良いのではないでしょうか? 私はCGIでtargetの指定をしています。

noname#107402
質問者

お礼

自分もあまり詳しくないので、CGIのtargetというのが分かりません。perl上でフレームの解除ができる知恵があれば、それも偉大なんですけどねー。 手持ちの本には載ってなかった。。。 ありがとうございます。

回答No.2

こんばんわぁ、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>

noname#107402
質問者

お礼

ありがとうございます。 動作も確認できました。ただ、このままでは、CGIに値を送信できないような気がします。(スミマセン、確認してないです。。。) <html> <head> <script language="JavaScript"> <!-- function ChangeFrame(CF) { フレームがないなら抜ける命令 top.location.href=CF } //--> </script> </head> <body onLoad="ChangeFrame('このページ.htm')"> testpage </body> </html> ていうのもいいなーと思いました。 どうもありがとうございました。

関連するQ&A