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>
4

3 回答 3

6

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

于 2012-08-01T18:27:10.700 回答
0

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

于 2012-08-01T18:28:56.390 回答
0

它允许选择超过 1 个答案

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

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

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

于 2012-08-01T18:29:07.183 回答