如何选择单个或多个复选框按钮?

问题描述:

对于每一个问题,我想在那里通过每个问题检查,编译if声明如果.ReplyType文本输入等于Single,那么用户只能选择一个复选框按钮选项,否则如果.ReplyType文本输入等于Multiple,则用户可以选择多个复选框按钮选项。如何选择单个或多个复选框按钮?

我的问题是如何根据.ReplyType文本输入选择单个按钮或多个按钮来执行此操作?在PHP或JavaScript中更好吗?

下面是相关代码:

<form action='results.php' method='post' id='exam'> 

    <?php 

//COMPILE OPTION BUTTONS 

    function ExpandOptionType($option) { 
     $options = explode('-', $option); 
     if(count($options) > 1) { 
      $start = array_shift($options); 
      $end = array_shift($options); 
      do { 
       $options[] = $start; 
      }while(++$start <= $end); 
     } 
     else{ 
      $options = explode(' or ', $option); 
     } 

     foreach($options as $indivOption) { 
      echo '<div class="ck-button"><label class="fixedLabelCheckbox"><input type="checkbox" name="options[]" id="option-' . $indivOption . '" value="' . $indivOption . '" /><span>' . $indivOption . '</span></label></div>'; 
     } 


    } 


    foreach ($arrQuestionId as $key=>$question) { 

    ?> 

    <div class="queWrap"> 

//DISPLAY QUESTION NUMBER FOR EACH QUESTION 
    <p><?php echo htmlspecialchars($arrQuestionNo[$key]);?></p> 

//DISPLAY OPTION CHECKBOX BUTTONS FOR EACH QUESTION 
    <?php echo ExpandOptionType(htmlspecialchars($arrOptionType[$key])); ?> 

//DISPLAY REPLY TYPE TEXT INPUT FOR EACH QUESTION 
    <p>Reply Type: <input type='text' class='replyType' name='replytype' value='<?php echo htmlspecialchars($arrReplyType[$key]); ?>' /></p> 



    </div> 


    <?php 

    } 

    ?> 
+5

对于单个你会使用PHP来输出''不是复选框,你不会涉及javascript – Popnoodles 2013-02-11 00:20:02

+0

@popnoodles所以你说在PHP中,如果问题是答复类型是单一的,使它单选按钮,如果多个使复选框? – user2056342 2013-02-11 00:30:32

+0

@Mörre是啊,我刚刚发现之前,你发布你的评论。没有想到:) – user2056342 2013-02-11 00:31:06

你应该都做,JavaScript和PHP实现。

在提交表单之前,JavaScript更适合用户获得响应。

PHP很重要,因为JavaScript验证可以绕过(只是停用JavaScript),在这种情况下,您的PHP仍应验证您获得的是一致的数据。

无论如何:使用单选按钮和复选框进行多选。并不是说它已经在每个浏览器中实现了,并且意图以这种方式使用,大多数用户已经学会了这种行为,并且不会为您的JavaScript(或PHP)验证感到惊讶。