- 締切済み
formデータ送信時にフレームページとフレーム名を指定する方法
お世話になっております。 質問ですが、メールフォームのformデータを送信する際、プレビュー機能や送信完了メッセージがでます。 普通はformタグでaction="http://~/abc.cgi"とすれば送信ボタンを押すとabc.cgiが開いて確認画面等がでるのですが、私の場合は フレームページではない送信する内容を書くところ から↓ フレームページである123.htmlの『1』というフレーム名のところにプレビューや送信完了メッセージをだしたいのです。(要するにフレーム名『1』にabc.cgiを表示させたい) いろいろ記述法を探したのですがいまいちわかりません^^; どなたか具体的にご伝授いただければ幸いです。 ちなみにmethodはpostです。 よろしくお願いいたします。m(_ _)m
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- leap_day
- ベストアンサー率60% (338/561)
こんにちは フレームで分けて上が送信内容の記入するhtmlで下のフレームに123.htmlがありその中のフレームにpostするのではなく 送信内容を記入するhtmlからpostして画面を123.htmlに変更してからその中のフレームにabc.cgiを呼び出しそこにform内容をpostしたいということですか? それだと結構難しいのかな? 一応こんな感じだと出来るのはできますけど・・・ 【送信内容記入.html】 <script language="javascript"> <!-- function url() { id = document.form.id0.value; name = document.form.name0.value; win = window.open("123.html",""); win.ifr.location.href = "abc.cgi?id="+id+"&name="+name+""; } //--> </script> <form name="form"> <input type="text" name="id0"> <input type="text" name="name0"> <input type="button" value="in" onClick="url()"> </form> 【123.html】 <iframe src="" name="ifr"></iframe> (<frameset>でframe分けしている場合も同じ<frame name="ifr">であればよい) 他のやり方としてはmethod="get"で123.htmlに送って (urlがh ttp://***/123.html?id0=**&name=**という感じになりますよね?) これをjavascriptなどで分解して?以降を取得して ifr.laocation.href = "abc.cgi?id=**&name=**"; のようにして表示させることも出来るかと思いますけど分解の仕方をまだ知らないのでこちらの方法でのアドバイスは出来ないです(><) 他にはcookieを使うとか(こちらもまだ勉強中(><) あとあまり本題とは関係ないですがnameとかはあまり数字とかでするのではなくアルファベットからはじめた方がいいと聞いたことがあります
- leap_day
- ベストアンサー率60% (338/561)
こんにちは <form action="abc.cgi" method="post" target="フレーム名"> でおそらくいけると思います
補足
ではなく、たとえば123.htmlの『1』というフレーム名にabc.cgiを表示するようにしたいのです。もう少しそこを強調すべきでしたね^^; 図なんかだしたほうがいいんですかね…
お礼
大変遅くなりまして申し訳ありません。 伝授頂きました内容は申し訳ありませんが意図しているものではありませんでした。 また、JavaScriptもお使いのようですが、無効にしている方も多いので採用が できない状態です。また、何かの時に使わせていただきます。 >nameとかはあまり数字とかでするのではなくアルファベットからはじめた方がいいと聞いたことがあります ここでは一例として示しただけで、本来はアルファベットにしております。 >getで送る メールフォームをgetで送信ってどんなことになるんでしょう… 聞いたことすらありません… これで回答を締め切らせて頂きます。 回答いただき、誠にありがとうございました。