禁用(始终检查)复选框值未传递到下一页

时间:2012-04-02 08:46:23

标签: forms checkbox

我有一组复选框,并禁用了一些我希望永远为真的用户无法取消选择它们。当我提交表单时,我没有获得禁用的复选框值。如何获得这个值

<? echo "<PRE>"; print_r($_POST);?>



<form method="post">
<input type="checkbox" name="t[1]" value="1" disabled="disabled" checked="checked" />1
<input type="checkbox" name="t[2]" value="2" disabled="disabled" checked="checked" />2
<input type="checkbox" name="t[3]" value="3" disabled="disabled" checked="checked" />3
<input type="checkbox" name="t[4]" value="4" />4
<input type="checkbox" name="t[5]" value="5" />5
<input type="checkbox" name="t[6]" value="6" />6
<input type="checkbox" name="t[7]" value="7" />7    
<input type="submit" />
</form>

我应该始终获得值1,2,3并且如果有任何

,则选择用户值

3 个答案:

答案 0 :(得分:7)

对于每个禁用的复选框,使用&lt; input type =“hidden”... /&gt;具有相同的名称和价值。

答案 1 :(得分:2)

事实上,已禁用的元素已禁用,并且不会被发送,正如@BluesRockAddict已经说过的那样。 您可以做的是使用JavaScript禁止取消选中复选框。您可以使用类似<checkbox [...] onclick="return false" onkeydown="return false"之类的内容 但是,当您禁用JavaScript时,这将无效。

答案 2 :(得分:1)

对于禁用的复选框,值永远不会发布到服务器。一种可能的解决方法是添加一些javascript代码,以便在提交表单时启用禁用复选框。