仅选择一个单选按钮

时间:2012-08-01 18:26:08

标签: php html radio-button

我在下面编写了代码并且它工作得很好并且有其目的,但我有两个问题。 1.它允许选择1个以上的答案。 2.当没有选择答案时,没有错误信息。

<div id="p1" class="SlidingPanelsContent">
  <div class="question"> 
       <div class="label"><span class="number"><?=$question_id++; ?>.</span>
     <? echo $question; ?>
    </div>

<div class="answer" onmouseover="javascript:changeBgColor(event, '#B900A5');" onmouseout="javascript:restoreBgColor(event);"  onclick="this.checked=true; "> 
<input tabindex="-1" type="radio" name="<?php echo rand(); ?>" value="<?=$ans1; ?>" ><? echo $ans1; ?></div>

    <div class="answer" onmouseover="javascript:changeBgColor(event, '#B900A5');" onmouseout="javascript:restoreBgColor(event);" onclick="this.checked=true;">
   <input tabindex="-1" type="radio" name="<?php echo rand(); ?>" value="<?=$ans2; ?>" ><?=$ans2; ?></div>

   <div class="answer" onmouseover="javascript:changeBgColor(event, '#B900A5');" onmouseout="javascript:restoreBgColor(event);" onclick="this.checked=true;">
   <input tabindex="-1" type="radio" name="<?php echo rand(); ?>" value="<?=$ans3; ?>" ><?=$ans3; ?></div>

   <div class="answer" onmouseover="javascript:changeBgColor(event, '#B900A5');" onmouseout="javascript:restoreBgColor(event);" onclick="this.checked=true;">
    <input tabindex="-1" type="radio" name="<?php echo rand(); ?>" value="<?=$ans4; ?>" ><?=$ans4; ?></div>

   </div>

   </div>

3 个答案:

答案 0 :(得分:6)

如果您给单选按钮指定相同的名称,则只能检查一个,因为浏览器强制执行此操作。如果你给他们不同的名字,就像你使用rand()给他们的名字一样,那么他们都可以被检查,因为他们不会彼此联系。

答案 1 :(得分:0)

您需要为单选按钮指定相同名称,它们组成一个组,您只能选择组中的一个。

答案 2 :(得分:0)

  

它允许选择多个答案

停止使用随机name属性。具有相同radio的所有name按钮都被视为同一组的一部分,浏览器只允许选择一个。

  

没有选择答案时没有错误消息

你必须实现逻辑才能做到这一点。