对于每个问题,我想编译一个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
}
?>
答案 0 :(得分:0)
您应该同时执行JavaScript和PHP实现。
在提交表单之前,JavaScript最好让用户获得响应。
PHP非常重要,因为可以绕过JavaScript验证(只需停用JavaScript),在这种情况下,您的PHP仍应验证您是否获得了一致的数据。
无论如何:使用单选按钮和多选复选框。并不是说它已经在每个浏览器中实现并且意味着以这种方式使用,大多数用户已经学会了这种行为,并且不会对您的JavaScript(或PHP)验证感到惊讶。