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