【问题标题】:How to select single or multiple checkbox buttons?如何选择单个或多个复选框按钮?
【发布时间】:2013-02-11 00:18:10
【问题描述】:

对于每个问题,我想编译一个if 语句,其中通过检查每个问题,如果.ReplyType 文本输入等于Single,那么用户只能选择一个复选框按钮选项,否则如果@ 987654324@文本输入等于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

    }

    ?>

【问题讨论】:

  • 对于单人来说,你会使用 PHP 来输出 &lt;input type="radio" ... /&gt; 而不是复选框,并且你不会涉及到 javascript
  • @popnoodles 所以你在 php 中说如果问题是回复类型是单一的,如果是多个复选框,则将其设为单选按钮?
  • @Mörre 是的,在您发表评论之前我才意识到。没想到:)
  • 请花时间了解表单元素。
  • @popnoodles 我在foreach($options as $indivOption){ 中得到未定义的$qandaReplyType 索引:if($qandaReplyType == 'Single'){。请问循环中应该调用什么变量?

标签: php javascript jquery html


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 2019-01-21
    • 1970-01-01
    • 2012-03-13
    • 2011-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多