Php 如果为只读且未选中,如何获取复选框值
我有几个复选框Php 如果为只读且未选中,如何获取复选框值,php,html,Php,Html,我有几个复选框 foreach ($result as $set){ if ($set['Req']=='0') ?><input type="checkbox" name="select[]" value="1"> <?else?> <input type="checkbox" name="select[]" value="1" checked READONLY DISABLED>?> } 当前select[
foreach ($result as $set){
if ($set['Req']=='0')
?><input type="checkbox" name="select[]" value="1">
<?else?>
<input type="checkbox" name="select[]" value="1" checked READONLY DISABLED>?>
}
当前select[]仅为{1},因为readonly/not checked不会发布该值
. 如何获取select[]即{1,1,0,1}?多谢各位
更新:
如果用户未选中该复选框,如何知道未选中哪个复选框并添加select[]=0
我能想到的一种方法是,在这种情况下,我得到数组的总长度=4,
我现在可以拿到了
但问题是如何将其添加到正确的位置
currently i have select[] = {1,1,1} and $len=4;
您可以执行以下操作,而不是禁用复选框:
<input type="checkbox" name="select[]" value="0" style="display:none;">
在您的HTML表单中
foreach ($checkboxValues as $chkVals){
if ($chkVals[1]=='required')
?>
<input type="checkbox" name="select[]" value="<?=$chkVals[0];?>">
<?else?>
<input type="checkbox" name="select[]" value="<?=$chkVals[0];?>" checked READONLY DISABLED>
?>
}
foreach($checkboxValues作为$chkVals){
如果($chkVals[1]=='required')
?>
您可以执行以下操作,而不是禁用复选框:
<input type="checkbox" name="select[]" value="0" style="display:none;">
在您的HTML表单中
foreach ($checkboxValues as $chkVals){
if ($chkVals[1]=='required')
?>
<input type="checkbox" name="select[]" value="<?=$chkVals[0];?>">
<?else?>
<input type="checkbox" name="select[]" value="<?=$chkVals[0];?>" checked READONLY DISABLED>
?>
}
foreach($checkboxValues作为$chkVals){
如果($chkVals[1]=='required')
?>
您需要使用javascript将表单中的隐藏字段设置为所需的值,因为禁用字段不会在请求中发送。您需要使用javascript将表单中的隐藏字段设置为所需的值,因为禁用字段不会在请求中发送。为每个复选框指定一个显式索引可能更容易:
<input type="checkbox" name="select[1]" value="1" />
<input type="checkbox" name="select[2]" value="1" />
<input type="checkbox" name="select[3]" value="1" />
<input type="checkbox" name="select[4]" value="1" />
并使用isset
检查提交表单中设置了哪些索引。未选中/禁用的复选框将不会出现在提交表单中。为每个复选框指定一个明确的索引可能更容易:
<input type="checkbox" name="select[1]" value="1" />
<input type="checkbox" name="select[2]" value="1" />
<input type="checkbox" name="select[3]" value="1" />
<input type="checkbox" name="select[4]" value="1" />
并使用isset
检查提交表单中设置了哪些索引。未选中/禁用的复选框将不会出现在提交表单中。尝试以下操作:
<form name="myform" action="" method="post">
<input type="hidden" name="select[1]" value="">
<input type="checkbox" name="select[1]" value="1" checked readonly>
<input type="hidden" name="select[2]" value="">
<input type="checkbox" name="select[2]" value="1">
<input type="hidden" name="select[3]" value="">
<input type="checkbox" name="select[3]" value="1" checked readonly>
<input type="hidden" name="select[4]" value="">
<input type="checkbox" name="select[4]" value="1">
</form>
试试这个:
<form name="myform" action="" method="post">
<input type="hidden" name="select[1]" value="">
<input type="checkbox" name="select[1]" value="1" checked readonly>
<input type="hidden" name="select[2]" value="">
<input type="checkbox" name="select[2]" value="1">
<input type="hidden" name="select[3]" value="">
<input type="checkbox" name="select[3]" value="1" checked readonly>
<input type="hidden" name="select[4]" value="">
<input type="checkbox" name="select[4]" value="1">
</form>
这样,用户不知道选择了什么。它可以,我可以显示消息抱歉,但这仍然不能发布值,如果复选框未选中,简单地说,我想要的是:在复选框未选中时发布选择[]=0谢谢!因为选择[]如果未选中,则不会发布,我如何知道是否选中?这样,用户不知道选择了什么。可以,我可以显示消息抱歉,但这仍然无法发布值,如果未选中复选框,简单地说,我想要的是:post select[]当复选框未选中时=0谢谢!因为如果未选中select[]将不会发布,我如何知道它是否选中?是的,但它会混淆值。例如,我为复选框1添加隐藏框1,两个名称都=select[],发布结果将是Double Yeah,但它会混淆值。例如,我为复选框1添加隐藏框1,名称=选择[],发布结果将是Double Yeah,更简单的是,如果该项不存在,我如何添加“0”?假设总长度=4且[1]=>“1”和[3]=>“1”,这意味着我需要添加[2]=>“0”和[4]=>'0',但如何添加?谢谢。是的,如果项目不存在,我如何添加“0”更简单?假设总长度为4,[1]=>'1',[3]=>'1',这意味着我需要添加[2]=>'0'和[4]=>'0',但如何添加?谢谢