• ベストアンサー

HTML入力フォームの保存

HTMLで入力フォームを作った時にチェックボックスにチェックを入れ送信した後に、またそのHTMLのアンケートフォームを開いた時に初期値として前回送信したチェックが入っているようなプログラムを書きたいのですが、どうすればいいのかわかりません。Perlやhtmlで書きたいと思っているのですが書けますか?? どなたか教えてください!!

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

  • ベストアンサー
回答No.1

1) フォームのパラメータを何かに保存 2) 保存したものを読み出す 3) フォームのパラメータのデフォルト値としてセット すればOKです。 モジュールを使っていいなら、例えば以下のようになります。アカウント管理していないことと、表示がくずれるので空白2文字を全角空白で書いていることに注意。 #!/usr/bin/perl -T use strict; use warnings; use utf8; use CGI; use CGI::Carp qw(fatalsToBrowser); use CGI::Pretty; use HTML::FillInForm; use Storable qw(nstore retrieve); use constant QUERY_FILE => './serialize.dat'; my $q = CGI->new(); my $html = do { local $/ = undef; <DATA> }; my $output; my $sended = $q->param('send'); if ( defined $sended ) {   nstore( $q, QUERY_FILE ) || die QUERY_FILE;   $output = HTML::FillInForm->fill( \$html, $q, target => 'form1' )     || die "$!"; } elsif ( -r QUERY_FILE ) {   my $saved_query = retrieve(QUERY_FILE) || die QUERY_FILE;   $output     = HTML::FillInForm->fill( \$html, $saved_query, target => 'form1' )     || die "$!"; } else {   $output = $html; } print $q->header( -charset => 'UTF-8' ), $output; __DATA__ <!DOCTYPE html   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="ja-JP" xml:lang="ja-JP">  <head>   <title>Test HTML::FillInForm</title>   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />  </head>  <body bgcolor="#ffffff">   <form name="form1" method="POST">     Name : <input type="text" name="url" />     <br />     <input type="radio" name="look_behind" value="A" checked="checked" />Value A     <input type="radio" name="look_behind" value="B" />Value B     <input type="radio" name="look_behind" value="C" />Value C     <br />     <input type="checkbox" name="checkbox1" value="ON" lablel="checkbox_label" />checkbox1     <input type="checkbox" name="checkbox2" value="ON" lablel="checkbox_label" />checkbox2     <br />     <select name="select1">      <option value="option1">option1</option>      <option value="option2">option2</option>      <option value="option3">option3</option>     </select>     <br />     <input type="submit" name="send" value="send" />   </form>  </body> </html>

endo891113
質問者

お礼

ありがとうございます。試してみます!

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • HTML,入力フォームに関して

    初心者です、HTMLが詳しい方に質問です。 二つのHTMLファイル(a.htmlとb.html)を作り、そのうちの一つ(a.html)に入力フォームを作成した時 その入力した内容を(b.html)に送信することは出来るのでしょうか。 また、その際どうメモ帳などに書けば良いのでしょうか。 何方かお願い致します。

    • ベストアンサー
    • HTML
  • PHP フォームについて

    PHP初心者です。HTMLとPHPを使って、アンケートフォームを作っています。 ネットで色々と調べていたのですが、基本の構成がわからないので教えてください。 HTMLとPHPの別々のファイルで構成されているフォームと、HTMLにPHPを書き込みをしてHTMLの1つのファイルで構成しているものなどがありました。どの方法でやるとよいのでしょうか? また、同じ内容でもPHPの書き方が違うような感じがするのですが、PHPには同じ動作でも沢山の書き方があるのでしょうか?ウェブサイトによって書き方が違うので少し混乱しています。 [アンケートフォーム内容] テキスト・複数行のテキスト・メール・ラジオボックス・チェックボックス・添付ファイル(添付ファイルは難しいのであれば、無しにします)のフォームの部品をいれたいです。 [動作] 1、顧客がアンケートフォームの入力 2、入力内容を私のメールに転送する のシンプルな動作です。 また、ラジオボタンやチェックボックスをつけると、PHPの構文が難しくなるのでしょうか? 宜しくお願いします。

    • ベストアンサー
    • PHP
  • Webブラウザからのフォーム入力について

    以下のことを実現したいと思います。 1、Webからの入力フォームを用いてある募集をかけたい  アンケート5~6問(テキスト、チェックボックス、ラジオボタン使用)  フォーム入力後、「送信ボタン」を押して入力内容を送信する。  入力者のメール機能は使わない。 2、入力内容の受取手段は問わない 3、HTTPS機能を使用したい 以上、どのような環境や言語、機能で実現可能でしょうか。 また、HTTPSを利用しないどのような危険がありますか?

  • フォームからHTML更新

    CGI初心者です。 今度自分の運営するHPで、情報コーナーを作ろうと思っています。 情報を持つ人が入力専用フォームからデータを入力し、それをあるページの一部にiframeとかで新着数件分を表示させたいと思っています。 HTMLでの入力フォームの作成くらいはできるのですが、そのフォームを送信して、iframeに表示するHTMLを作成するにはどうしたらいいかわかりません。漠然とCGIを使えばできるんだろうなという程度の知識です。 このようなのは何かサンプルコードのようなものがあるのでしょうか? もしくは何かおすすめの参考書などはありませんか? ちなみにコーディングの知識は、perl・C・JavaScriptなどの簡単なコードを読むことができる程度です。 よろしくお願いいたします。

    • ベストアンサー
    • CGI
  • フォームに書き込まれたHTMLタグを出力したい

     フォームに書き込んだHTMLタグを、出力後、ちゃんとHTMLタグとして生成させる方法を知りたいのですが。(言葉足らずですいません、例えば、掲示板の入力フォームで、テキストに書かれた例えば<font color=red>というHTMLタグを使い、フォーム送信後、文字が赤くなっている、ということを実現させたいだけなのですが)  当方、Perlどころかプログラミングそのものを理解していない者ですが、訳あってソースをいじるお手伝いをすることになって困っております。以前、さらっと一行、コードを書くだけで実現できると思ったのですが。ご教授頂ければ幸いです。

    • ベストアンサー
    • Perl
  • HTMLのフォームについて

    ドロップダウンリストをHTMLのフォームで作成したときのことで悩んでいます。 1~10まで選択可能なドロップダウンリストを用意したフォームが2つあるとします。 そのフォームに送信をボタンをsubmitとしておいておきます。 "test.c"というプログラム内のprint文でHTMLコードを記述し、ブラウザで選択した値を、プログラム内で変数として使用したいと考えております。 以下のようなものを記述したとします。 <form name = "select" method="post" action="test.c"> <select name="list1"> <option value = "1"> 1 </option> ~ </select> <select name="list1"> <option value = "1"> 1 </option> ~ </select> <input type="submit" value="表示"> </form> として、 [1~10のリスト1] [1~10のリスト2] [送信] というような感じです。 このtest.cをブラウザ上で起動し、送信ボタンをおせば、 ・「0~リスト1で選択した数字」をブラウザに表示 ・その中で「リスト2で選択した数字」の表示を消す という処理がtest.cで行われるようなプログラムとします。 例として ・リスト1とリスト2は始めに1が選択されているとします。 ・「リスト1で5」、「リスト2で3」を選択して送信を押します。 ・test.cのページが更新され、ブラウザ上にはリスト2つと送信ボタン、「0・1・2・4・5」が表示されているとします ここからが質問になります。 このとき更新されたことにより、2つのリストは初期選択の1が選択された状態に戻っているが、ブラウザ上には前回送信した結果の数字「0・1・2・4・5」が表示されています。 このときに、このままやっぱり3を表示しないのではなく2を消したいとなった場合、リスト2を"2"に選択しなおすだけでなく、リスト1も再度"5"を選択しておかなければならないと思います。 この場合に、更新後のページのリストを前回選択した5と3のままにしておけば、リスト2を3から2に変更するだけで良くなるのですが、このように前回送信した状態を保持してリストを表示することは可能でしょうか。 よろしくおねがいします。

  • HTML応募フォームでメールに送信したい

    【初心者】です。相談させて下さい。 私は小さな求人サイトを担当しています。 求人サイトなので店舗情報を入力しなければなりませんが、 各営業担当にしかわからないこともあるので、いつも口頭で確認してましたが、業務を簡略化するために、HTMLでメモ帳に「フォーム」を作りました。 <例>-------------------------------------------------- 名前: 住所: [送信] ------------------------------------------------------- ・ラジオボタン ・チェックボックス ・プルダウン などをHTMLタグで作り、 最後「送信」ボタンも本を見て作りました。 このフォームを会社のPCの共有に入れておいて、必要なら入力してもらい、「送信」を押せば私のメールに内容が届くようにしたいのです。 ネット上にアップするつもりはありません。 しかし、私のメールに内容を送信させるタグがわかりません。 メーラーを立ち上げる[mailto]のやつならわかるのですが、 直接そのフォームに入力してもらって送信していただきたいのです。 本やネットで調べてもぜんぜんのっていません。 HTMLタグだけではむりなのでしょうか? 最初はcgiというのも試しましたがちんぷんかんぷんでした。 そこで質問です。 ■応募フォームの「送信」を押下後、内容を私のメールに行くようにするタグは?? ■またHTMLでできなければどうしたらいいでしょうか?無料cgiをDLしたのですが拡張子がcgiのファイルはアイコンがTMPのようになっていてメモにドラッグしても見れませんでした。 ご教授お願いいたします。助けてください。

    • ベストアンサー
    • CGI
  • 入力フォームの確認画面からの「戻る」について

    過去の質問とか参照して同じような件が出てくるのですが、今ひとつはっきりしないところがあるので質問させていただきました。 HTMLでアンケートなどの入力フォームを作り、送信ボタンのクリックでCGI(Perl)にて「確認画面」or「必須項目のエラーページ」を表示させているのですが、修正のために戻るボタンをクリックすると入力フォームで入力した情報がクリアされて、再度初めから入力しないといけません。これはブラウザの問題(?)によるところのようですが、その1台のマシンだけではなく、他のマシンとかで試してみると、入力情報がそのまま残って戻れる場合もあるようです。情報がクリアされる場合は再度そのページを読み込みに行っているからで初期化された状態になるそうです。 そこらへんを踏まえて以下4点回答を頂きたいのですが、 (1)戻るボタンで入力情報がクリアされてしまうのはプログラムで情報を保持したりしない限り防ぐことが出来ないのか? (2)入力情報がそのまま残って表示される場合とはどういう状態・設定の時なのか? (3)全てはブラウザの環境に起因しているものなのか? (4)Netscapeはどうなのか? 的確にお答え頂けると非常に助かります。 ※以上の動作を確認しているブラウザは全てIEで、バージョンは5.5もしくは6です。

    • ベストアンサー
    • CGI
  • HTMLとPerl間のページ遷移について。

    HTMLとPerl間のページ遷移について。 こんにちわ。 HTML(index.html)でログインフォーム(ユーザ名、パスワード)を作成し、そこに入力した情報を、Perl(login.pl)にPOST送信します。 Perlでは、受け取ったパラメータをチェックし、ユーザ名とそのパスワードが正しければ、もとのHTMLファイル(index.html)にページ遷移し、もともとあったログインフォームをJavaScriptで削除し、「ログイン中」と表示させる、ということをしたいのですがわからないところがあり投稿させていただきました。 現在、クライアントでは、JavaScriptを使ってログインフォームを作っています。そして、フォームの中の値を取得して、POST送信することはできます。次に、サーバにてPerlで受け取ったパラメータをチェックし、ユーザ名とパスワードの認証をとるところまではできています。しかし、その後にどうすべきかがわかりません。locationで、もとのHTMLファイル(index.html)を指定しても、ログインを認証したという情報は保持しておらず、それでは意味がありません。 Perlでログインを認証した後に、認証したという情報を保持したままHTMLページに遷移する事は可能でしょうか。可能であればその方法を教えていただきたく思います。 よろしくお願いします。

    • ベストアンサー
    • Perl
  • HTMLフォームに自動入力

    会社で利用しているシステムにて、Excel上の1セル内にあるデータを、Webサイト上の1つのHTMLフォームにコピー&ペーストする、オペレーションを行っています。 1つのWebページ上には複数のHTMLフォームが存在しており、1つのフォームに対して、Excelから コピー&ペーストをするという作業を行っており、非常に手間で困っています。 この作業を自動化したいと考えています。 イメージとしては、csvのデータを元データとして、csv内の1つのセルを対象のHTMLフォームと関連付けを行い、自動でHTMLフォームを埋めたいと考えています。 これを実現するのに、以下2つの方法があるのではないかと推測しました。 (1) Excel VBA からのIE操作 (2) Firefox のAdd-on Greasemonkey経由のjavascript 作成 ■質問 私が調べられる範囲としては、上記の2つだけだったのですが、実施したい自動化作業にて 望ましい実現方法は、他にありますでしょうか。 もし、同様なシステムを開発されたことがある方がいるのなら、実現方法等を教えて頂ければ と思います。 ※私のプログラムレベルは、Perlやシェルスクリプトで、システム管理の自動化プログラムを書く程度 のレベルです。