• ベストアンサー

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

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

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

  • ベストアンサー
  • twin_shu
  • ベストアンサー率100% (10/10)
回答No.3

1の者です。 補足の説明って、質問の内容と意味的に同じように見えますが・・・ 1で書いたサンプルを補足のものに書き換えたら動くと思います。

jammy0718
質問者

お礼

ありがとうございましたーーーーーーーーーー!! 出来ました!出来ました! 本当にありがとうございましたー!! これからも精進します~。 本当にありがとうございましたー!!

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

その他の回答 (4)

  • Suzi
  • ベストアンサー率38% (130/334)
回答No.5

 ご指示のようになっているのでしたら、細かいデーターチェックは別として、 if($hoho == 'TEL' && empty($tel)) error("電話番号を・・"); elseif($hoho == 'FAX' && empty($fax)) error("ファックス番号を・・"); elseif($hoho == 'E-MAIL' && empty($mail)) error("メールアドレスを・・"); とかはどうでしょうか。

jammy0718
質問者

お礼

ありがとうございます♪ 今自宅なのでちょっと試せないのですが、そちらの方でも試してみたいと思います♪ 親切にありがとうございました☆

すると、全ての回答が全文表示されます。
  • tonton53
  • ベストアンサー率36% (4/11)
回答No.4

クライアント側で、javascript 使うのは、 ありですか?

すると、全ての回答が全文表示されます。
  • Suzi
  • ベストアンサー率38% (130/334)
回答No.2

入力後にsubmitボタンを押し、そのデーターで、 <input type=radio name=tel_radio value=on> <input type=text name=tel size=15> TELのラジオボタンがチェックされていて、かつTELのテキストエリアが空欄だったらエラー表示で。 if(!empty($tel_radio) && $tel_radio == 'on' && empty($tel) ) error("電話番号を・・"); 逆のラジオボタンをチェックせずに電話番号が入っていたら if(empty($tel_radio) && !empty($tel) ) error("電話番号のラジオチェックボタンを・・");  実際は電話番号は市外局番から記入してもらいハイフンは、数字は半角のみか全角も良しとするかなどの振り分けは必要だと思いますが。  ただ連絡方法を1つだけで良いのならラジオボタンよりもメニューの方が楽かもしれませんね。 <select name=renraku>  <option value="" selected>---</option>  <option value=tel>TEL</option>  <option value=fax>FAX</option>  <option value=mail>MAIL/option> </select>

jammy0718
質問者

補足

すみません、言葉不足で・・・ HTML側に 項目1 電話番号<input name="tel" type="text" id="tel" size="25"> 項目2 FAX<input name="fax" type="text" id="fax" size="25"> 項目3 MAIL<input name="mail" type="text" id="mail" size="50"> 項目4ご希望連絡方法 <input name="hoho" type="radio" value="TEL">TEL  <input name="hoho" type="radio" value="FAX">FAX  <input name="hoho" type="radio" value="E-MAIL">E-MAIL  とあり、php側で受け取る際にTELを選択していたら項目1に入力していないとエラーメッセージが出るようにしたいのですが・・・。

すると、全ての回答が全文表示されます。
  • twin_shu
  • ベストアンサー率100% (10/10)
回答No.1

PHPでのラジオボタンのデータの受け取り方がわからない、ということでしょうか? 基本的な流れとして、チェックされたラジオボタンを判別し、それに対するテキストエリアの空白チェックをすればいいだけかと。 とりあえず簡単なサンプルを載せておきます。 このままファイルに貼って表示すれば動くはずなので、あとは自分の望む動作にいじってください。 --------------------------------------------- <?php $rad = $_GET["rad"]; if( ($rad == "TEL" && $_GET["area1"] == "") || ($rad == "FAX" && $_GET["area2"] == "") || ($rad == "MAIL" && $_GET["area3"] == "") ) { echo "<b>".$rad."は必須項目です。</b><br><br>"; } ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>サンプル</title> </head> <body> <form name="Main" action="test.php" method="get"> <b>連絡方法</b><br> TEL<INPUT TYPE="RADIO" NAME="rad" VALUE="TEL" CHECKED><textarea name="area1" row="1"></textarea><br> FAX<INPUT TYPE="RADIO" NAME="rad" VALUE="FAX"><textarea name="area2" row="1"></textarea><br> MAIL<INPUT TYPE="RADIO" NAME="rad" VALUE="MAIL"><textarea name="area3" row="1"></textarea><br> <input type="submit" value="submit"> </form> </body> </html>

jammy0718
質問者

補足

すみません、言葉不足で・・・ HTML側に 項目1 電話番号<input name="tel" type="text" id="tel" size="25"> 項目2 FAX<input name="fax" type="text" id="fax" size="25"> 項目3 MAIL<input name="mail" type="text" id="mail" size="50"> 項目4ご希望連絡方法 <input name="hoho" type="radio" value="TEL">TEL  <input name="hoho" type="radio" value="FAX">FAX  <input name="hoho" type="radio" value="E-MAIL">E-MAIL  とあり、php側で受け取る際にTELを選択していたら項目1に入力していないとエラーメッセージが出るようにしたいのですが・・・。

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

関連するQ&A