私は次のフォームを持っています:
<form action="?" method="post" name="contactform">
<?php if(@$errorsAndNotices):?>
<div class="error">
<p><?php echo @$errorsAndNotices; ?></p>
</div>
<?php endif; ?>
<div class="question">
<p><span><input type="radio" name="answer" value="Yes"/></span> Yes</p>
</div>
<div id="one" class="answers" style="display:none">
<p><input type="radio" name="answerdetail" value="Reason One" /> Reason One</p>
<p><input type="radio" name="answerdetail" value="Reason Two" /> Reason Two</p>
</div><!-- end answers -->
<div class="question">
<p><span><input type="radio" name="answer" value="No"/></span> No</p>
</div>
<div id="two" class="answers" style="display:none">
<p><input type="radio" name="answerdetail" value="Reason One" /> Reason One</p>
<p><input type="radio" name="answerdetail" value="Reason Two" /> Reason Two</p>
</div><!-- end answers -->
<div class="question">
<p><span><input type="radio" name="answer" value="Not sure" /></span> Not sure</p>
</div>
<div id="three" class="answers" style="display:none">
<p>No problem, we’ll drop you an email next week.</p>
</div>
<input type="submit" value="" class="submit" />
</form>
「はい」または「いいえ」のいずれかを選択すると、サブ ラジオ ボタンが表示され、いずれかを選択できます。
次の簡単な検証があります。
orsAndNotices = '';
if(!@$_REQUEST['answer']) { $errorsAndNotices .= "Please select Yes, No or Not sure.<br/>\n"; $nameFail = 1; }
if(!@$_REQUEST['answerdetail']) { $errorsAndNotices .= "Please select your answer.<br/>\n"; $emailFail = 1; }
何も選択されていない場合は、必要に応じてエラー通知が表示されます。
「はい」または「いいえ」が選択されているが、サブラジオボタンが選択されていない場合、必要に応じてエラー通知が再び表示されます。
問題は、「わからない」を選択すると、サブラジオボタンが選択されていないため、エラー通知が表示されることです。私はこのエラーを望んでいません。
「はい」または「いいえ」が選択されていて、サブラジオボタンが選択されていない場合にのみ、エラー通知が必要です。が選択されていない場合は、フォームをエラーなしで送信したいと考えています。
これで大丈夫だと思います!
どんな助けでも素晴らしいでしょう。