• 締切済み

戻ると入力したフォームの内容が消えてしまう現象について

過去ログやあちこちのサイトで同様のトピックをたくさん読んだのですが、 私の知識不足もあり、汎用性の高い解決策が見つけられなかったので教えてください。 HTMLのヘッダーでキャッシュ制御などをしていないのに、 掲示板やフォームのCGIで、プレビュー画面に行き、 <input type=button value='前画面に戻る' onClick='history.back()'> などのボタンで戻ると、時々ページがリロードされてしまい、 入力した内容が消えてしまうことがありますよね? 一説によればこの現象はブラウザ(特にIE)のご機嫌的なもののようで、 バージョンにはほとんど関係なく、ゆえに対応策を講じていない 掲示板やフォームが多いのかな?という印象を受けました。 これに対して、入力された値をどこかに一時的にキープしておき、 投稿画面に戻った時にそれを渡すような形で対応できている 超シンプルな掲示板やフォームのCGIはありますか? (もしかしてクッキー処理というものでしょうか???) プログラミング初心者の私ですが、ちょっと勉強してみたいので、 オススメの良いサンプルがありましたら、ぜひご紹介ください。 よろしくお願いいたします!

  • r_bel
  • お礼率95% (81/85)
  • CGI
  • 回答数2
  • ありがとう数3

みんなの回答

  • mintroll
  • ベストアンサー率100% (1/1)
回答No.2

簡単な掲示板やメールフォームで言えば、入力して投稿ボタン(送信ボタン)を押すと、確認画面が出るようなタイプのCGIであれば、確認画面に設置してある「もどるボタン(訂正ボタン)」を押して、入力画面に戻れるようになっているタイプであれば、入力した内容が消えてしまうと言う事は少ないと思います。 完全に消えないとは言い切れませんが、一応代用できるかと。 ※JavaScriptで全画面に戻るようなタイプであれば、消えてしまう事もあるかも 入力する側も、入力には気を付けていると思いますので、商用での利用でなければそれほど気にする事でもないかもしれません。 では。。。

r_bel
質問者

お礼

お返事ありがとうございます。 (お礼が遅くなり失礼いたしました。) >簡単な掲示板やメールフォームで言えば、入力して投稿ボタン >(中略) >入力した内容が消えてしまうと言う事は少ないと思います。 これが仕組みがわかっていないといともあり、 意外と見つけられず苦労しておりまして、(T-T) 具体的なスクリプト名をご紹介いただけるとすごく助かります。 ちなみに現在私がお借りしているのはKent WebさんのWeb Forumです。 私の使っているバージョンもそうですが、現在の公開されているサンプルを見る限り、 残念ながら戻るボタンには、JavaScriptのhistory.back()が使われているようです。 仕方がないので、今はJavaScriptを使って、送信ボタンが押された時に、 記入された内容をユーザーPCのクリップボードにコピーし、 万が一、戻って記入内容が消えてしまっていた場合は それをテキストフィールドに書き出す「復旧作業」ボタンを自分で組みこんでいます。 が、いかんせん、禁止設定がされていないIE+Win PCユーザーにのみ対応ですし、 作業の途中でクリップボードが上書きされてしまうと全てが水の泡になるので、 あくまで暫定的な処理でしかなく・・・。 (そもそもMozillaユーザーにはそもそもあまり起こらない現象のようなので、 心配は無用かもしれませんが。(^^;) ご回答ありがとうございました。 引き続き、何か良いシンプルなCGIスクリプトがありましたら、 ぜひご紹介をお願いいたします。m(_ _)m

  • mintroll
  • ベストアンサー率100% (1/1)
回答No.1

確かに、「もどる」ボタンを押すと、入力した項目が消えてしまう事ってありますよね(^^; こういう事が嫌なので、私もユーザーさんにガッカリしてほしくないと思い、入力をキープする事ができるCGIを使用しています。 http://apps.cside.com/ 上記で配布されている「ThemeResMail」と言うのが、設定の仕方によって入力項目をキープする事ができます。 http://apps.cside.com/theme/tmresmail/ マニュアルを読むだけでも結構大変なのですが、ひょっとしたフォームであればできると思います。 結構高機能なCGIなので、このCGIで「何ができるのか」を一通り把握する事ができたら、良いものが作れますよ。 メールフォーム限定になってしまいますが。。。 私がみてきたメールフォームCGIの中では、このプログラムが一番高機能だと思います。 投稿内容もCSV形式で保存されるので、エクセルなどで分析する事もできますし。 それでは。。。

参考URL:
http://apps.cside.com/
r_bel
質問者

お礼

ありがとうございます! 高機能なCGIとのことで、私のレベルではまだちょっと 教材の対象としては難しすぎるかもしれませんが、 とりあえずDLさせていただきたいと思います。 やはり超シンプルな掲示板やフォームで この機能を兼ね備えたものというのは難しいのでしょうか・・・。

関連するQ&A

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

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

    • 締切済み
    • CGI
  • メール送信フォームについて

    ヘッダー、メニュー、フッターはHTMLで記述しています。 問い合わせフォームはCGIで記述しています。 1.利用者が問い合わせフォームに入力 2.入力内容の確認画面、または入力エラーの画面 3.送信後完了画面 入力内容の確認画面でヘッダー、メニュー、フッターも表示させる。 入力エラーの画面でヘッダー、メニュー、フッターも表示させる。 送信後完了画面でヘッダー、メニュー、フッターも表示させる。 ヘッダー、メニュー、フッターはすべて同じ内容で、 問い合わせフォームのみが変化する仕様になっております。 入力内容の確認画面、入力エラーの画面、送信後完了画面の各画面のヘッダ、メニュー、フッターをCGI内にすべて記述しているのですが効率が悪いと感じております。 どのようにコーディングするのが最も効率が良いでしょうか? どうぞ宜しくお願いいたします。

    • ベストアンサー
    • CGI
  • フォームで入力した内容を掲示板に反映させるCGIを探しています。

    普通の掲示板では、 1.タイトル 2.名前 3.メッセージ みたいな感じでフォームがあるのですが、これを 1.タイトル 2.所属 3.名前 4.使用しているコンピュータ 5.使用機器 6.メッセージ のようにフォームを作って、送信ボタンを押したら、入力内容を掲示板に 反映させたいと思っています。 具体的には、2~6の内容を普通の掲示板でいうメッセージの欄に 表示させたいと思っています。 私が探しているのは、複数のフォーム内容を掲示板に反映させることの できるフリーのCGIです。 いろいろ探してはみたのですが、なかなか見つからなかったので、 質問させていただきました。 よろしくお願いします。

    • ベストアンサー
    • CGI
  • こった掲示板や入力フォームはCGIじゃないとつれませんか?

    こったつくりの掲示板や質問メールを送る時の入力フォームなどはCGIを使わないと作ることができないのでしょうか? 現在ホームページビルダー8で掲示板を作ろうとするとなんだかいまいちな感じの掲示板しかつくることができないようです。 CGIを利用すればこった内容にできるらしいとゆうことまで調べたのですが、自分のホームページスペースがCGIを利用できないことが分かりました。CGIを利用しない方法での製作はやっぱり無理なのでしょうか?回答よろしくおねがいします。

  • 「onClick=

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

  • フォームに入力した情報をそのフォームに反映するには?

    http://f29.aaa.livedoor.jp/~unyu/joban/unyu.cgi?line=oer1000 上記のサイトのように、情報をフォームに入力し投稿ボタンを押すと入力したフォームに反映/保存され、その情報を他の人も変更(投稿)/回覧できるようにするにはどのようにすればよいのでしょうか? CGI/perlなどを探し、掲示板のプログラムを改造したりしましたが分かりません。回答お願いします。

    • ベストアンサー
    • CGI
  • スマホサイトのフォームについて

    スマートフォン用のフォームページを作成したのですが、ひとつ問題があって困っています。 添付ファイルが使えるフリーのPHPを使っているのですが、入力後、確認画面に移りそのまま送信するのは問題ありません。 ただ、入力後、確認画面に移り、前のページ(入力画面)に戻った後、再び確認画面に移った直後にリロードが始まり、未入力状態の入力画面に戻ってしまいます。こうなると何度再入力しても同じ結果になってしまいます。 どうしても解決できないため、別のCGIのフォームに切り替えたのですが、これも同じ結果です。 スマートフォンならではの理由があるのでしょうか? それから、この状態の解決方法を教えてください。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • フォーム入力後の更新

    MS-アクセス2000でデータベースを作っています。 データ入力画面に単一のフォーム画面で作っています。 日付登録は同じなのでフォームヘッダーに枠を作り、検索番号を入力してbodyの部分でデータ入力させています。 その際、登録項目はヘッダーにある日付だけなので、検索した結果に日付をコピーすれば入力完了という簡単な処理なのですが、次の番号を入力されるまでテーブルに反映しません。 出来れば、番号を入力し、日付がコピーされ、カーソルが番号に戻ってきた時にはテーブルに反映しているという状態にしたいのです。 VBAでカーソルが番号に戻る時に「commit」をかけてくれれば、便利なのかもしれませんが、残念ながら見つけることが出来ませんでした。 そういった更新処理は皆さん、どうされているのでしょうか? すみませんが、良い方法をお教え下さい。よろしくお願い致します。

  • SSLでメールフォーム

    メールフォーム入力画面でSSLを使用したいと思っています。SSLはレンタルサーバの共有SSLを使用します。SSLの対応にはメールフォームのプログラム(CGI)がSSLに対応していないとダメなのでしょうか? メールフォームは有料cgiを使っています。

    • ベストアンサー
    • CGI
  • フォーム入力中にEnterで送信しなくするには

    最近、ユーザさんがフォームを入力中、勢い余ってEnterを叩いてしまい、入力途中のものが送られてきてしまうことが多々あります。会社のシステムなのですが、Htmlで改善する方法がありましたらぜひ教えてください。cgi側で対応してもいいのですが、手間がかかりそうなので・・・よろしくお願いいたします。

    • ベストアンサー
    • HTML

専門家に質問してみよう