• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ラジオボタンの値によって他のテキストのエラーをだしたい)

ラジオボタンの値によって他のテキストのエラーをだしたい

このQ&Aのポイント
  • PHP超初心者なのですが、海外旅行の経験はありますか?という質問フォームで、選択されたラジオボタンの値によって他のテキストのエラーメッセージを表示したいです。
  • フォームで国名を入力する必要があるのは、ラジオボタンが「有」に選択された場合です。
  • また、ラジオボタンが選択されていない場合にもエラーメッセージを表示したいです。

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

ああ、なるほど・・・読解力がなくて申し訳ないです ではこんな感じで、自分自身にサブミットしてデータの整合性を チェックし、問題がなければgood.phpにとばすというような フローでどうでしょう? <?PHP do{ if($_POST['submit']=="") break; if($_POST['travel']==""){ $errStr="選択してよ";break;} $checked['travel'][$_POST['travel']]=" checked"; if($_POST['travel']=="有" AND $_POST['travel1']=="") {$errStr="国名かいてよ";break;} //この後問題ないときの処理をかく・・・ }while(0); header("Content-Type:text/html;charset=euc-jp"); print <<<eof <html> <head> <style type="text/css"> #errMesg{ color:red; } </style> <body> <form action="{$_SERVER['PHP_SELF']}" method="post"> 海外旅行の経験はありますか?<br> <span id="errMesg">{$errStr}</span> <INPUT type="radio" name="travel" value="無" id="travelno"{$checked['travel']['無']}/><label for="travelno">無</label> <INPUT type="radio" name="travel" value="有" id="travelyes"{$checked['travel']['有']}/><label for="travelyes">有</label><br> 国名<input name="travel1" type="text" value="{$_POST['travel1']}" class="ja" /> <input type="submit" name="submit" value="GO!"> </form> </body> </html> eof; ?>

sukippu
質問者

お礼

ありがとうございます! 今から、やってみます!!!

その他の回答 (3)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.4

#3補足 >good.phpにとばす 処理ページにとばす でした

sukippu
質問者

お礼

有難うございました。(●^o^●) できました! 感謝します。 ご連絡が遅くなってしまってすみません。 本当に有難うございました。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

前回の回答にも書いたとおり、そうなるとjavascriptの質問になるので スレッド違いですね。変更依頼しときます。 やりかたとしては以下のような感じです。 普通ラジオボタンはユーザービリティのためにデフォルトきめとく もんですけどね・・・。 <head> <style type="text/css"> #errMesg{ color:red; } </style> <script language="javascript"> function checkForm(f){ var errMesg=document.getElementById('errMesg'); var travel=f.travel; var travelVal=""; var errFlg=true; for(i in travel){ if(travel[i].checked){ errFlg=false; travelVal=travel[i].value; break; } } if(errFlg){errMesg.innerHTML='選択してね';return false;} if(travelVal=="有" && f.travel1.value==""){errMesg.innerHTML='国名いれてよ';return false;} return true; } </script> </head> <body> <form action="" method="post" onSubmit="return checkForm(this)"> 海外旅行の経験はありますか?<br> <span id="errMesg"></span> <INPUT type="radio" name="travel" value="無"/ id="travelno"><label for="travelno">無</label> <INPUT type="radio" name="travel" value="有"/ id="travelyes"><label for="travelyes">有</label><br> 国名<input name="travel1" type="text" value="" class="ja" /> <input type="submit" value="GO!"> </form> </body>

sukippu
質問者

補足

ご回答有難うございます。 私の言い方が悪かったですね。。。 >確認画面でやるならPHPでもできますと 言われてたのでできるんだと思ってました。 できれば、javascriptは、使いたくないのです。 携帯からもこのフォームでやりたいので できれば、PHPで作って行きたいんです。 もう一度、PHPでのやり方を教えてください。 お忙しいとは、思いますが、よろしくお願いします。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>有を選択した場合、国名を記入するようにエラーを出したいのですが。 タイミングがわかりません。 押した瞬間にエラーをだしたいなら、javascriptでやるしかありません。 確認画面でやるならPHPでもできます >また、この有無の選択されてなかったら、エラーを出したいのですが。。。 これも受け取った側でエラーを出す方法と、サブミットボタンをおしたとき に出す方法がわかれます(両方でチェックする方がよいのですが)

sukippu
質問者

補足

すみません サブミットボタンをおして確認画面で エラーを出したいのです。 すみませんが、よろしくお願いします。