• 締切済み

フォームメール確認後の戻るについて

教えてgooのNo.130269にも同様な質問があるのですが、教えてください。 htmlで作成した入力画面(フォーム)からcgi(perlで作成)で確認画面に行き、内容修正のための戻るボタンを設置しているのですが、戻るボタンを押すと、入力画面に戻っても、入力した内容が保持されないのですが、内容を保持する方法があれば教えてください。また、補足等が必要であればご連絡下さい。 私の使っているブラウザはIE5.5です。 確認画面では以下の両方のコードでだめでした。 <input type="button" value="内容を変更する" onclick="history.back()"> <a href="javascript:history.back()">内容を変更する</a>

  • CGI
  • 回答数1
  • ありがとう数1

みんなの回答

  • loveobo
  • ベストアンサー率48% (102/210)
回答No.1

q=130269では、入力フォームもCGIで生成させるのが確実とアドバイスが ありますね。当方は初心者につき、まったく的外れかもしれませんが・・・ 入力用HTMLを書出す aaa.cgi では、未だ存在しないはずの入力内容を @qqq に取り込ませ、入力欄に反映させるとします。@qqq は空っぽで、 未記入の入力フォームになりませんか? 記入後の submit を受け、bbb.cgi は実在の入力内容を @qqq に取り込み、 確認用HTMLを書き出すのですよね。受信内容は、固定表示とともに <form name="theForm" action="ccc.cgi"><input type="hidden"> にも入れて ccc.cgi に転送するとしたら、修正ボタンの onClick で document.theForm.action = "aaa.cgi"; submit(); というのは、いかがでしょうか? (嘘文法を書いてたらゴメンナサイ)

kenball
質問者

お礼

ありがとうございました。 入力画面をCGIとして対応しました

関連するQ&A

  • メール送信フォームとhistory.back()

    現在PHPでメール送信フォームを作っています。画面表示としては、 入力画面→確認画面→送信という流れなのですが、確認画面で「戻る」ボタンを設置して入力画面に戻れるようにしたいと思っています。 そこで、入力画面を当初はhtmlとし、確認画面にhistory.back()を設置してうまく入力値が入っている状態になっていたのですが、入力画面をphpファイルにしたとたんhistory,back()すると空っぽの入力画面が表示されてしまうようになりました。 確認画面で「戻る」ボタンを設置し、入力画面に戻るにはどうすればいいでしょうか?

    • ベストアンサー
    • PHP
  • 「onClick=

    投稿フォームCGIを改造中です。 情報を入力後、確認画面を出し、送信完了画面を出すようにしています。 さて、情報を入力後確認画面で情報を確認した時間違えがあった場合用に「戻る」ボタンを設置しました。 <FORM><INPUT type="button" value=" ×前の画面へ " onClick="history.back()"></FORM> しかし、戻ると全データが消えてしまいます。最初から入力しなおしって事です。 ブラウザの「戻る」でも同様です。 コレをどうにかして一度入力した物を保持しておきたいのです。要は間違ったところだけを再入力ですね。 何か方法はありますか?よろしくお願いします。

  • フォームメール確認画面から戻るためには?

    perlを使って申込みフォームを作っています。ファイルとしてはa.htmlを使ってまずフォーム入力欄を作りました。 そこからa.cgiに飛ばして確認画面を作りました。そこからが問題です。もう一つamail.cgiを作りそこにいった時点で指定メールに送るように作ってあります。 しかしa.cgiで入力項目を確認してもらった時に入力項目が間違っていた場合に戻るボタンを設けなければいけませんが、戻るボタンでどのようにa.htmlにもどせばいよいのか解りません。 具体的にどのようなソースを使えば良いのか解らないのでどうか教えて頂けないでしょうか? お願します。

    • 締切済み
    • CGI
  • 戻るボタンを押すと、ページ下に飛んでしまいます・・

    HPをタグ打ちで作成しております。解決方法が見つからなかったので教えてください。 bodyに、A「戻るボタン」とB「ページのTOPへ戻る」リンクを設置しました。 <input type="button" value="戻る" onClick="history.back()"> <a href="#top">ページのトップへ戻る</a> BをクリックしてからAをクリックすると、前のページではなくBの場所へ戻ってしまうんです・・。 history.back()だからそうなってしまうんですよね? そこまでは分かるのですが、history.back()を何にすればブラウザの戻るボタンと同じように出来るのかわからないのでどなたか教えて下さい。 色々調べたのですが、検索の仕方が悪いのか解決策が見つかりません。 初心者で申し訳ありませんが宜しくお願い致します。

  • onclickのfalseとtrue

    <a href="#" onclick="history.back(); return false;">[戻る]</a> と <a href="#" onclick="history.back(); return true;">[戻る]</a> の違いを教えてください。

  • 携帯向けフォームメール(postmail)

    KENTさんのところでお借りしたpostmailというCGIを携帯で使えるようにしようとしています。 http://www.kent-web.com/data/postmail.html エラー画面や入力確認画面で前に戻るボタンがありますが、onclickが使われているので携帯では動きません。 携帯のブラウザバックを使うと入力内容が消えてしまうので、出来れば他の方法で…と思ったのですが、何かいい方法はないでしょうか?

    • 締切済み
    • CGI
  • [戻る]のヒストリについて

     ヒストリについて、過去の質問を見るのですがいまいちわからなくって質問させて頂ます。             フォーム入力 → フォーム確認画面 -------------------------------------------------  フォーム入力内容が消えてない ← [戻る]をクリック      有効期限切れじゃない こんなことやりたいのですが、どうすればいいんでしょうか? <A HREF="#" onClick="history.back(); return false;">[戻る]</A> っと過去の質問に書いてあったのですが、これって、期限切れなしで、フォーム入力の内容も、絶対そのままの状態で戻るのでしょうか? そして、このhtmlタグだけで、javaScriptなしで良いのでしょうか? javaScript全くわかりませんので、できればスクリプト記載して教えていただけるとありがたいです。

  • フォームメール確認画面ありのロジック

    はじめまして。 よろしくお願いします。 Perlの勉強を始めたばかりの初心者です。 自作のCGI(Perl)でフォームメールを作成しようとしています。 1.フォームに必要事項を入力 2.確認画面で確認 3.OKならメール送信 ※自分と フォームから入力してもらったアドレスへ2通 1から2へは フォームからのデータ受取 変換 受け取ったデータを含むHTMLの作成。 でできると思うのですが、 2から3へは皆さんどのようなロジックを使っていらっしゃるんでしょうか? 私は1から2へのHTMLの作成の際に Hiddenでメール送信したい内容を隠し持たせてから、 2の画面でのSubmitの時に隠し持たせた内容をメール送信すれば良いのかな? と思っているのですが、 他にどのような方法があるのか(使ってらっしゃるのか)教えて頂きたいのです。 また、上記の方法に対する良し悪しなどもご指摘頂けますと とても助かります。 足りないところは補足致します。 よろしくお願いします。

    • ベストアンサー
    • Perl
  • 問い合わせフォームでの確認画面について

    phpで問い合わせフォームを作成しているのですが、修正ヵ所があれば問い合わせフォームの下に「戻る」ボタンだけを表示し、正確に入力されていれば「戻る」ボタンと「OK」ボタンを表示することができました。 しかし、問い合わせフォームの上に表示する、修正ヵ所があれば「入力内容に誤りがあります。※印の項目は必ずご記入ください。」、正確に入力されていれば「以下の内容で送信しますか?」を表示させることができません。 この場合、どのようなコードを、どの部分に記述したら良いのでしょうか? ちなみに、submit後のphpファイルのコードは以下となります。 かなり無駄が多いかもしれません。 <table class="table margin01" width="592" border="0" cellpadding="0" cellspacing="0"> <tr> <td width="190" align="left" bgcolor="#FFF09D">お名前<span class="tabletext1"></span></td> <td> <?php $name=$_POST['name']; if($name=='') { echo'<FONT COLOR="#cc3333">※必ず入力してください。</FONT>';; } else { echo $name; } ?> </td> </tr> <tr> <td align="left" bgcolor="#FFF09D">メールアドレス<span class="tabletext1"></span></td> <td> <?php $mail=$_POST['mail']; if (!preg_match( '/^[a-z0-9][a-z0-9_\.\-]*@[a-z0-9][a-z0-9_\.\-]+[a-z]$/i', $mail)) { echo'<FONT COLOR="#cc3333">※正しいメールアドレスを指定してください。</FONT>';; }elseif($_POST['mail']!==$_POST['mail2']) { echo '<FONT COLOR="#cc3333">※確認用メールアドレスと一致していません。</FONT>';; }else{ echo $mail; } ?> </td> </tr> <tr> <td align="left" bgcolor="#FFF09D">メールアドレス(確認)<span class="tabletext1"></span></td> <td> <?php $mail2=$_POST['mail2']; if($mail2=='') { echo'<FONT COLOR="#cc3333">※必ず入力してください。</FONT>';; } else { echo $mail2; } ?> </td> </tr> <tr> <td align="left" bgcolor="#FFF09D">お問い合せ内容<span class="tabletext1"></span></td> <td> <?php $list=$_POST['list']; if($list=='お問い合せ内容をお選びください') { echo'お問い合せ内容をお選びください<FONT COLOR="#cc3333">&nbsp;※必ず入力してください。</FONT>';; } else { echo $list; } ?> </td> </tr> <tr> <td align="left" bgcolor="#FFF09D">内容<span class="tabletext1"></span></td> <td> <?php $content=$_POST['content']; if($content=='') { echo'<FONT COLOR="#cc3333">※必ず入力してください。</FONT>';; } else { echo $content; } ?> </td> </tr> </table> <?php if($name==''|| $mail==''|| $mail2==''|| $list==''|| $content=='') { echo'<form>'; echo'<p align="center" class="margin01"><input type="button" value="戻る" onclick="history.back()"</p>'; echo'</form>'; } elseif($_POST['mail']!==$_POST['mail2']) { echo'<form>'; echo'<p align="center" class="margin01"><input type="button" value="戻る" onclick="history.back()"</p>'; echo'</form>'; } elseif(!preg_match( '/^[a-z0-9][a-z0-9_\.\-]*@[a-z0-9][a-z0-9_\.\-]+[a-z]$/i', $mail)) { echo'<form>'; echo'<p align="center" class="margin01"><input type="button" value="戻る" onclick="history.back()"</p>'; echo'</form>'; } elseif($list=='お問い合せ内容をお選びください') { echo'<form>'; echo'<p align="center" class="margin01"><input type="button" value="戻る" onclick="history.back()"</p>'; echo'</form>'; } else { echo'<form method="post"action="thanks.php">'; echo'<input type="hidden" name="name" value="'.$name.'">'; echo'<input type="hidden" name="mail" value="'.$mail.'">'; echo'<input type="hidden" name="mail2" value="'.$mail2.'">'; echo'<input type="hidden" name="list" value="'.$list.'">'; echo'<input type="hidden" name="content" value="'.$content.'">'; echo'<p align="center" class="margin01"><input type="button"onclick="history.back()"value="戻る">'; echo'<input type="submit"value="OK"></p>'; echo'</form>'; } ?>

    • ベストアンサー
    • PHP
  • このソースって長所短所ありますかね?

    次のソースどちらも前面に戻るです。 javaはブラウザが対応しているかどうかが問題でしょうが、昨今、非java対応は無いと思います。 それ以外でメリット、デメリットありますか? 宜しく願います。 <a href="javascript:history.back()">[戻る]</a> <input type="button" value="前面に戻る" onClick="pageBack()">

    • ベストアンサー
    • HTML

専門家に質問してみよう