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

How to select single or multiple checkbox buttons?

本文关键字:复选框 按钮 单个 何选择 选择      更新时间:2023-09-26

对于每个问题,我想编译一个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
    }
    ?>

您应该同时执行JavaScript和PHP实现。

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

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

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