我有一组复选框,并禁用了一些我希望永远为真的用户无法取消选择它们。当我提交表单时,我没有获得禁用的复选框值。如何获得这个值
<? 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并且如果有任何
,则选择用户值答案 0 :(得分:7)
对于每个禁用的复选框,使用&lt; input type =“hidden”... /&gt;具有相同的名称和价值。
答案 1 :(得分:2)
事实上,已禁用的元素已禁用,并且不会被发送,正如@BluesRockAddict已经说过的那样。
您可以做的是使用JavaScript禁止取消选中复选框。您可以使用类似<checkbox [...] onclick="return false" onkeydown="return false"
之类的内容
但是,当您禁用JavaScript时,这将无效。
答案 2 :(得分:1)
对于禁用的复选框,值永远不会发布到服务器。一种可能的解决方法是添加一些javascript代码,以便在提交表单时启用禁用复选框。