如何使复选框处于选中和禁用状态?

时间:2018-11-23 05:37:52

标签: php

我尝试过:

<input disabled='disabled' 
checked='checked' 
type='checkbox' 
name='checkTema[]' 
value=".$cat->cat_ID."> ".$cat->name."<br>"

但是,当我发送表格时,那不会取值

更新

感谢发表评论,我从another SO question得到了一个有帮助的答案,但是我不确定应该如何应用该技巧,尝试了以下操作,但未发送值

echo "<input type='hidden' name='checkTema[]' value='1' >";
echo "<input type='checkbox' checked='checked' disabled='disabled' name='checkTema[]' value=".$cat->cat_ID."> ".$cat->name."<br>";

4 个答案:

答案 0 :(得分:0)

如果您需要POST禁用的复选框,建议您在以下位置使用隐藏的输入:

<input type="hidden" name="checkbox_disabled" value="<?php echo $checkbox_value; ?>" /> <== Checked and disabled

然后在您的PHP代码中,只需检查以下内容即可:

if ($_POST['checkbox']) {
  //Checkbox wasn't disabled on submission
} else {
  //Fallback to using the disabled value:
  $disabledVal = $_POST['checkbox_disabled'];
}

此外,您可以在提交之前完全禁用表单的所有元素:

$('form').submit(function() {
    $(this).find('input').attr('disabled', false);
});

有关如何选择执行此操作的更多信息,请参见this question/answer

答案 1 :(得分:0)

尝试在onclick事件中返回false

 <input 
     onclick="return false"
    checked='checked' 
    type='checkbox' 
    name='checkTema[]' 
    value='.$cat->cat_ID.'> ".$cat->name."<br>" 

答案 2 :(得分:0)

尝试此代码:

<input disabled='disabled' checked='checked' type='checkbox' name='checkTema[]' value="<?php echo $cat->cat_ID;?>"><?php echo $cat->name;?> 

答案 3 :(得分:0)

感谢发表评论,我在another SO question中找到了解决方案

然后我的代码更改为:

echo "<input type='hidden' name='checkTema[]' value=".$cat->cat_ID." >";
echo "<input type='checkbox' checked='checked' disabled='disabled'> ".$cat->name."<br>";