CGI(Perl)内での必須項目チェック

このQ&Aのポイント
  • CGI(Perl)内での必須項目チェックについて困っています。フォームページにはラジオボタンとテキストエリアがあります。
  • ラジオボタンのvalueが1の場合、テキストエリア全てに項目が入っていないとエラーメッセージが出るチェックを作りたいです。
  • 説明がわかりづらいかもしれませんが、お力をお貸しください。
回答を見る
  • ベストアンサー

CGI(Perl)内での必須項目チェック

CGI(Perl)内で必須項目のチェックを行うところで 書き方が分からず困っています。 フォームページHTMLファイルにラジオボタンで選択ボタンが2つとテキストエリアが3つあります。 ラジオボタンのnameは、携帯電話。 valueの1つ目は "1"、2つ目は ""(空白)。 テキストエリアの 1つ目のnameは、"携帯1"。2つ目のnameは、"携帯2"。3つ目のnameは、"携帯3"。 ラジオボタンのvalueが"1"の場合は、テキストエリア全てに項目が入っていないとエラーメッセージが出るチェックを作りたいのです。 説明が分かりづらいかもしれないのですが、お力をお貸しください。 宜しくお願いします。

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

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

  • ベストアンサー
  • annie_x
  • ベストアンサー率50% (65/129)
回答No.2

milktea_ さん、 ということは、ひょっとして、確認画面の表示は以下のようなコードになっているのでしょうか。 * name を項目名としてそのまま使用 #================================================ print "$name : $in{$name}" #================================================ もしそうであれば、以下のように書き換えてあげるのでは駄目ですか? #================================================ print "携帯電話番号1 : $in{'celler1'}" #================================================ どうしてもコードを書き換えたくないのであれば、name を「携帯電話番号1」のように元に戻してください。 とりあえず「携帯電話番号」には、文字化け等の問題を起こしそうな文字は含まれていないので。。。

milktea_
質問者

お礼

ありがとうございました。 nameを英数字にして、確認画面の表示で日本語に書き換えてあげることにしました。

その他の回答 (1)

  • annie_x
  • ベストアンサー率50% (65/129)
回答No.1

CGI 内部で必須項目のチェックをするということですね。 日本語だと余計なトラブルを招くので name は、「携帯電話」を「celler」に置き換えています。 #================================================= # フォームの値を $in{$name} = $value; と入れたと仮定します。 if($in{'celler'} eq "1" & ($in{'celler1'} eq "" | $in{'celler2'} eq "" | $in{'celler3'} eq "")){ # ここにエラーを出力する処理を記述 } #================================================= なんとなくハズしてる予感がしますがこういうことをお聞きになりたかったのでしょうか?

milktea_
質問者

補足

ありがとうございます。 チェックをすることができました、感謝します。 ですが、入力を確認する画面をCGI内で作成しているのですが、 celler 090~ となってしまうので cellerを携帯電話番号と置き換えないといけなくなりました。 変換するにはどうすればよろしいでしょうか? お願いします。

関連するQ&A

  • 必須項目のチェック

    CGI内で必須項目のチェックをしたいと思っています。 ラジオボタン(name=電話)が(value=1)を選択された時、 テキストエリア(name=電話1、name=電話2、name=電話3) がすべて入力されていないとエラーが出るチェックをかけたいと思っています。 入力した後にでる確認画面で、nameを項目名として出しているのでnameを日本語につける必要がありました。 nameの指定を英字にしても良いのですが、チェックをかけた後、日本語に変換をかける方法がわからないのです。 お力をお貸しください!よろしくお願いします。

    • ベストアンサー
    • Perl
  • 選択肢によって入力必須が変わるフォームの入力チェックJavaScrip

    選択肢によって入力必須が変わるフォームの入力チェックJavaScript フォームの入力チェックのJavaScriptを作成しています。 特定のラジオボタンにチェックを入れた場合のみ、 入力必須になるテキストボックスの 入力チェックJavaScriptを教えてください。 ラジオボタンが複数あるフォームで、 <input type="radio" name="type" value="type1" /> <label>タイプ1</label> <input type="radio" name="type" value="type2" /> <label>タイプ2</label> タイプ2を選んだ場合のみ、必須項目にしたいテキストボックスがあります。 <input type="text" name="name1" /> テキストボックスが空白だった場合にアラートを出すJavaScriptは 現在このようになっています。 (参考にしていたサイトがあるのですが、忘れてしまいました・・・。) $(function(){ $("form1").submit(function(){ if($("input[name='name1']").val()==""){ $("input[name='name1']").css("border","1px solid #A70F00"); alert('必須項目に未入力があります'); return false; }) }) このJavaScriptをさらに、if文で括って、 name="type" の value が type2 であれば・・・、という処理を追加すればよいのだと 思いますが、書き方が分からず困っています。 どうかよろしくお願いします。

  • 必須項目を解除するには…

    CGIプログラムの提供で有名なKENT WEBさん(http://www.kent-web.com/)でフォームメールのプログラム(http://www.kent-web.com/data/postmail.html)をダウンロードしカスタマイズしているのですが、ラジオボタンやチェックボタンの項目が必須項目になっており、htmlソースで消してもチェックが入ってしまいます。cgiソースのどの部分を消せば上記のものがチェックされなくなるのでしょうか? 教えてください。

    • 締切済み
    • CGI
  • ラジオボタンでチェックした項目を必須にし、javascriptでアラートを出したい

    こんにちは・・・。 前回はphpで同じ質問をしたのですが、今回はjavascriptを使わなくてはなりません・・・OTL 重複質問のようで申し訳ないのですが、 連絡先方法【必須】をラジオボタンで選択した際、選択した項目(テキストエリア)を必須にしたいのです。 連絡先方法を必須にするやり方はわかりますが、それ以降がわかりません。。 どなたかご教授願います!! <input type="radio" name="renraku" value="TEL">TEL   <input type="radio" name="renraku" value="FAX">FAX   <input type="radio" name="renraku" value="E-Mail">E-Mail function CheckInput(){ /*----- check -----*/ flag = 0; for ( i = 0 ; i < document.form_1.renraku.length ; i++){ if (document.form_1.renraku[i].checked){ flag = 1; } } if (!flag){ alert('御希望連絡方法を選択して下さい'); return false; } } この続きを教えて下さい・・・お願い致します!

  • CGIアンケートの必須事項について

    CGIでアンケートを作成しています。 ラジオボックス、プルダウン、チェックボックスなどを使っていて、送信可能なところまでは出来ています。 チェックボックスでいくつかの項目と、「その他」という項目を作って、その他の場合、そのよこに配置したテキストボックスへ入力するというカタチをとっています。この設問はHTML側のneed設定で必須の設定にしています。 この場合に「その他」にチェックされた場合、その横のテキスト記述を必須にしたいですのですが、HTMLのneedで考えても限界があるように感じました。(知識不足なだけですが) IF、のようなものを使わなければいけない気がするのですが、CGI側やJavaScriptなどで設定は出来ないものでしょうか? よかったら教えてください。

    • 締切済み
    • CGI
  • JavaScriptにて、2つのチェックボックスのチェックができません

    お世話になっております。 お分かりになる方いらっしゃいましたら、ご教授願えますでしょうか? 現在採用に関する応募フォームを作成しています。 JavaScriptにてフォーム内のチェックボックスに チェックが入っているか、必須チェックをさせたいと思っています。 テキストボックスやコンボボックスなど、いくつか必須チェックがある中で、 チェックボックスの項目についての必須チェックがうまくいきません。 チェック完了後、cgiにてメールを送信するようにしているのですが、 チェックがされず、メールを送信してしまいます。 ローカルで行ってみたのですが、チェックをスルーして、 cgiに遷移してしまいます。 フォームイメージは以下の感じです。 <応募フォーム> --------------------------- 希望勤務地:□本社 □大阪 --------------------------- 2つのチェックボックスどちらにもチェックが入っていない場合は、 エラーメッセージを出し、処理を中止します。 どちらのチェックボックスにもチェックが入っていても、 エラーは出さずにcgiへ遷移します。 以下は現在のコードの内容です。 <HTMLコード> <form method="POST" action="send.cgi" name="応募フォーム" onSubmit="return check()"> <input type="checkbox" name="希望勤務地" value="本社" checked>本社 <input type="checkbox" name="希望勤務地" value="大阪">大阪 <input type="submit" value=" 送信 "> <input type="reset" value=" 取消 "> <Scriptコード> function check(){ if(!document.応募フォーム.希望勤務地.value.checked){ flag = 1; window.alert('必須項目[希望勤務地]にチェックがされていません'); } } 色々試してみたのですが、うまくいきませんでした。 チェックボックスのnameを同じ名前にしているのが原因でしょうか? お手数ですが、宜しくお願いいたします。

  • PHPでラジオボタンでチェックした項目を必須にしたい

    こんにちわ、どなたかご教授願います! ラジオボタンで例えば 連絡方法 1.TEL 2.FAX  3.MAIL とあり、1を選んだら、TELのテキストエリアを必須に 2を選んだら、FAXのテキストエリアを必須に 3を選んだら、MAILのテキストエリアを必須に するようにしたいのですが、 どのように記述すれば宜しいのでしょうか? 教えて下さい(泣)

    • ベストアンサー
    • PHP
  • PerlでCGIを制作している初学者です。

    PerlでCGIを制作している初学者です。 画像付きのアンケートを作ろうとしているのですが、 その際のページの切り替えがうまくいきません。 普通に1ページに、ボタンやフォームを配置したアンケートは作れるのですが、 自身が作りたいのは、紙芝居のごとく、 1ページ目に画像とアンケートの選択肢であるチェックボックスがあり、 チェックボックス入力後に回答を押すと同時に、配列へチェックボックスの答えを格納し、 2ページ目のアンケートへ移るというものです。 1ページ目や2ページ目のhtmlファイルならびにcgiファイルは用意できているのですが、 1ページ目の返答ボタンをおした際の処理の記述がわかりません。 例えば、 1ページ目 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <TITLE></TITLE> </HEAD> <BODY> <CENTER> <img src="sample.jpg" alt="01" width=800px height=600px> <FORM method="POST" action="post.cgi"><BR> <INPUT type="radio" name="answer" value="010" checked>complete mismatch  <INPUT type="radio" name="answer" value="011">mismatch  <INPUT type="radio" name="answer" value="012">neutral  <INPUT type="radio" name="answer" value="013">match  <INPUT type="radio" name="answer" value="014">complete match  <BR> <BR> <INPUT type="submit" name="submit" value=" SEND "> <BR> </FORM> </CENTER> </BODY> </HTML> と記述し、 post.cgi #!/perl/bin/perl print "Content-type: text/html\n"; print "\n"; read(STDIN, $data, $ENV{'CONTENT_LENGTH'}); print "REQUEST_METHOD : $ENV{'REQUEST_METHOD'}<br>\n"; print "CONTENT_LENGTH : $ENV{'CONTENT_LENGTH'}<br>\n"; print "DATA : $data<br>\n"; としたとき、 1ページ目でsample.jpgについての意見をラジオボタンで選択し、それをpost.cgiにて表示させるというサンプル(ここを後で変数の格納に変えます)ですが、この時、1ページに似た構成の2ページ目のアンケートへのリンクの仕方がわかりません。 イメージ的には、 1ページ目表示→回答を配列[0]に格納→2ページ目表示→回答を配列[1]に格納→・・・ 最終的には、各ページの回答を記録した配列を出力します。 以上のようなことを実現したいのです。 WEBなどを探してみたのですが、1ページにボタンやフォームがたくさん埋め込まれたものは発見したのですが、この紙芝居的なアンケートのヒントになりそうなものが見つかりませんでした。 アドバイスや、忠告などで結構ですので、回答を頂けると幸いです。

    • 締切済み
    • CGI
  • cgi の入力チェック

    ***** HTML ***** <TD> <INPUT type="radio" name="ABC_*" value="登録する">登録する  <INPUT type="radio" name="ABC_*" value="登録しない">登録しない </TD> ***** CGI ***** $family = "ABC"; if($name eq "$family"){ $family=$value; } 現在、上記のような記述で作っているのですが、 チェックを入れても、入れなくても、「入力エラー」 になりません。 他の項目については、OKなんですが。。。 どのように、入力チェックをすればいいのですか? **ちなみに、OKな項目の記述です。** ***** HTML ***** <TD>登録カテゴリー:</TD> <TD> <select name="カテゴリー_*"> <option value="" selected>選  択 <option value="自動車関連">自動車関連 <option value="お役立ちサイト">お役立ちサイト <option value="HP作成支援">HP作成支援 <option value="お店のHP">お店のHP <option value="個人のHP">個人のHP <option value="その他">その他 </select></TD> ***** CGI ***** $catego = "カテゴリー"; if($name eq "$catego"){ $catego=$value; }

    • ベストアンサー
    • CGI
  • 選択項目を必須にできるフリーのメールフォーム

    選択項目(ラジオボタン、チェックボックス、プルダウン等)を必須にできるフリーのメールフォームのCGIやPHPをご存知の方がいましたら教えていただきたいと思います。 選択項目のいずれかを選択しなければ、送信できないといったものです。 また、こんなスクリプトを書けばいけますなどでも結構です。 どなたかお願い致します。。

    • 締切済み
    • CGI