• 締切済み

チェックを入れるサンプルなどありましたら

現在perlを使ってCGIに挑戦しています。 アンケート用紙のようなフォームを作りそこに 文字を入力してもうらうプログラムを作成しています。 そこで質問なのですが、アンケート用紙のような物に文字を入力してもらってオーケーボタン を押した時に、必ず入力してもらいたい所の入力漏れ注意や数字を入れてもらう所をかな入力で入れている人に注意をうながすようなサンプルを探していますがなかなか見つかりません。 どうかそのような本、ホームページ等、又それに関する資料等ありましたらどうかおしえていただけませんでしょうか? どうかよろしくお願いします。

  • aeic
  • お礼率10% (60/582)
  • Perl
  • 回答数4
  • ありがとう数3

みんなの回答

  • deia
  • ベストアンサー率46% (15/32)
回答No.4

deiaっす。 とりあえずは下記のようなものでいかがでしょう? 項目は名前とメールアドレスだけなのでお好みに合わせていじくりまくりましょう。(^_^)!! あとform actionの指定忘れずに。 それではがんばってください。 <html> <head> <title>フォーム</title> <SCRIPT LANGUAGE="JavaScript"> <!--- function Check(){ if (document.forma.name.value==""){ window.alert("名前が記入されていません。"); return false } if (document.forma.mail.value==""){ window.alert("メールアドレスを入力してください。"); return false ; } else if(document.forma.mail.value.indexOf("@",0)<=0){ window.alert("メールアドレスが間違っています。"); return false;} return confirm("以下の内容で送信します。 \n\n名前:"+document.forma.name.value+"\nメールアドレス:"+document.forma.name.value+"\n\nよろしいですか?"); return true;} //---> </SCRIPT> </head> <body> <form name="forma" method="post" action="" onSubmit="return Check()"> 名前:<input type="text" size="40" name="name"><br> メールアドレス:<input type="text" size="40" name="mail"><br> <input type="submit" value="送る"> <input type ="reset" value="リセット"> </form> </body> </html>

  • deia
  • ベストアンサー率46% (15/32)
回答No.3

再びdeiaです。 >本の情報ですが、ジャバを使うとエラーメッセージが出せるもののそれを無視して通過する事ができると書いてあったのでCGIで作るしかないのかなと思ったのです。 どの本の情報か知りませんが、JavaScriptでもエラーメッセージを無視して通過するなどと言うことは全く無いと思います。(作り方にもよるかもしれないけど、そんな変な作り方する人いないと思うし。) 何かあればまた補足に追加してください。では!!!

aeic
質問者

お礼

それであればジャバで作ったほうが良いと思います。 deiaさんがお勧めするジャバソースをしていましたらおしえていただけませんでしょうか? どうぞよろしくお願い致します。

  • danmarino
  • ベストアンサー率63% (26/41)
回答No.2

JavaScriptの方が簡単ですが、Perlでということであれば以下の方法でどうでしょうか。 まずHTML側ですが、 フォームの入力部分は <INPUT TYPE="text" NAME="お名前"> <INPUT TYPE="text" NAME="電話番号"> <INPUT TYPE="text" NAME="住所"> といった感じで記述されているとします。 入力必須にしたい項目を <INPUT TYPE="hidden" NAME="required" VALUE="お名前:住所"> のようにTYPE="hidden"、NAME="required"、VALUE="必須にしたい項目名:必須にしたい項目名(…以下同じ)" としてあげます。 次にPerlですが、 おそらく読み取ったデータを配列にセットされていると思いますので上記hiddenで渡されたNAME="required"の部分を@requiredにセットする別処理を加えてあげます。 @pairs = split(/&/,$buffer); foreach $pair (@pairs) { ($name,$value) = split(/=/,$pair); if ($name eq "required") { @required = split(/:/,$value); } else { push(@data_name,$name); push(@data_value,$value); } } なお、上の処理は日本語等の処理の部分は省いてあります。 その下で以下のようにチェック処理をしてあげればOKです。 $count = @data_name; foreach $required (@required) { foreach (0..$count-1) { if ($data_name[($_)] eq $required && $data_value[($_)] eq "") { ※エラー時の処理;} } } あまりスマートなやり方ではありませんが、一応動きます。 参考になれば幸いです。

  • deia
  • ベストアンサー率46% (15/32)
回答No.1

CGIじゃなくてもJavascriptを使った方が手軽で簡単に出来ると思います。 がperlでという事なので定番のこちらのサイトで自分なりに勉強してみては・・・。 正規表現などが理解できていれば、perlでも簡単に出来ると思います。 ではがんばってください。

参考URL:
http://tohoho.wakusei.ne.jp/www.htm
aeic
質問者

お礼

回答頂き本当に助かります。 本の情報ですが、ジャバを使うとエラーメッセージが出せるもののそれを無視して通過する事ができると書いてあったのでCGIで作るしかないのかなと思ったのです。 そこらへんは作り方によって大丈夫になるのでしょうか?

関連するQ&A

  • 外字のチェック

    アンケートのCGIを作製しています。 それで、送信のボタンを押したときに、 入力欄に外字及び半角カナが入っていたらエラーのalertを出すといったものをするにはどうすればよいでしょうか?(どうするのがスマートでしょうか?) サンプル等教えていただけるとありがたいです。 なお、 ・未入力の場合alertあげる方法は実装しています。 ・画面の文字コードはSJISです。

  • 半角カナ入力について

    perlを使って入力項目を作っている人間です。 ある事に苦戦しています。 半角カナを入力すると文字化けが出てしまうので半角カナを入力しないように注意を促しているのですが、どうしても半角カナを入れてしまう人が入るので、半角カナを入力した時点で、注意事項をCGIで処理したいと思います。 しかし、CGIで処理する場合はどのようにすればいいのか解りません。 何かヒントなどを教えて頂けないでしょうか ? 又参考になるURLなどがありましたら教えて下さい。 お願します。

  • 入力フォームで入力出来る文字を半角英数に制限する

    いつもお世話になっています 問合せフォームを作成しているのですが、自分で携帯でアクセスしてみた時に、 電話番号など、数字しか入力する必要の無いフォームにフォーカスするとき、 いちいち半角英数を選び直さなければならないのが不便に感じます。 入力フォームにフォーカスすると、自動的に半角英数に入力文字が 切り替わるようなサイトに入ったことがある気がするのですが、 Perlを使ったCGIで設定することは出来るでしょうか? 携帯向けを考えているので、Javascriptでは設定出来ません。 作成している入力フォームはPerlで書かれている、KENTWEBの送信フォームCGIスクリプトです。 宜しくお願いいたします。

    • ベストアンサー
    • CGI
  • メールフォームCGI作成費用

    お問合せメールフォームのCGIプログラム作成費用はいくらが相場なのでしょうか。企業用で、セキュリティに厳しいサーバーにいれるため、専門業者さんに依頼したいのですが相場がわかりません。入力項目は7~8個、文字入力規制をつけ、必須項目漏れなどにはエラー表示をし、入力されたデータはメールで受けたいと考えています。CGI言語はperlです。フォームのイメージ・デザインはできています。よろしくお願いします。

    • 締切済み
    • CGI
  • フォーム入力のチェック

    フォームの入力をCGI(Perl)でチェックするとき、 全角の漢字、カタカナ、ひらがなでの入力以外は禁止にしたいです。 どなたかいい方法をご存知でしょうか? とりあえず、現在は、 jcode.plで全角英数字⇒半角英数字に変換 フォームに入力された文字列を一文字(半角2文字)ずつ抽出して、 $a=~ s/([^\w ])/'%' . unpack("H2", $1)/eg; でエンコードしたものが%を含んでいるかどうかで判別してます。 でもこれだと全角英数字と半角英数字しかシャットアウトできません。 記号文字なども入力出来ないようにしたいです。 よろしくお願いします。

    • ベストアンサー
    • CGI
  • CGIのアンケートで画像の転送

    HP初心者です。CGIのホームページビルダーのサンプルアンケートでプロバイダーCGIを使ってアンケート内容のほか、画像も送信できるアンケートフォームを作ったのですが、アンケート結果とファイル名はメールに届くようになりましたが、画像として開くことができません。どなたか解決策ご教示ください。

    • ベストアンサー
    • CGI
  • メールフォームから届くメールが文字化けしてしまいます・・・

    私の通ってる学際で利用するホームページを作ってます。アンケートフォームに無料cgiのpostmailというものをつかわさせてもらっています。 KentWeb http://www.kent-web.com/data/postmail.html ですが、設置したメールフォームから届くメールの一部が文字化けしてしまいます。 調べたら半角カタカナを入力すると文字化けするみたいです。 半角カタカナを入力しても文字化けしない方法を教えて下さい。又、これの他にいいメールフォームcgi(無料)があれば一緒に教えて欲しいです。 学際がもうすぐなのでできれば早く教えて欲しいです。 舞

  • ホームページビルダーのプレビューについて

    ホームページビルダー2001を使っています。フォームのページだけが プレビューできません。プレビューにして、入力後にリセットボタンを押してみるのですが、入力したままリセットできません。CGIはまだ組み込んでいません。 まだ、そこまで至っていません。CGIに関係があるのでしょうか? 今回初めてのホームページに挑戦です。宜しくお願いします。

  • C言語とCGIによるおみくじの製作

    初投稿になります。 私は現在C言語とCGIを使ったWebおみくじを作っています。 内容としては、入力フォームに入力された氏名、生年月日、性別の文字列を受け取り、それを整数に変換します。 そして変換された整数を計算することで20種類ほどの結果を返したいと考えています。 しかし、C言語によるCGIはperlなどのように資料が多くないため、あまり似たような構成のプログラムがなくあまり理解できていません。 Googleなどでc cgi などで検索して、見ることができるものは全て見ましたが、やはり理解できていない現状です。 特に、フォームに入力されたデータをcgiプログラムでどう受けるのか、また受け取った文字列をどうやって整数に変換するのかが分かりません。 もし、わかる方がいましたら、よろしければご教授願います。 また、コンパイルはgccで行っています。

    • ベストアンサー
    • CGI
  • 文字化けとパスワード変更

    perlでCGIを作っています。入力フォームで文字を入力すると、text.dataでは文字化けしています。CGI上の文字は大丈夫なのですが・・。どのように対処すればいいでしょうか? あと、if構文を試していたら、正解を書いても、パスワードを変えても対応せずに間違いだという画面しか出ません。必要があればプログラムも載せます。考えれることを教えてください。

    • ベストアンサー
    • CGI

専門家に質問してみよう