我尝试从这样的复选框中获取一个值数组:
if ($valueCommande['COMMANDE']["VALUE_CHECKBOX"] == "true")
{
echo "<input class='send_checkbox' checked name='test_send_checkbox[]' value='true' type='checkbox'>";
}
else
{
echo "<input class='send_checkbox' name='test_send_checkbox[]' value='false' type='checkbox'>";
}
但是在我的php中我只得到“true”,当“false”为null时,我不明白为什么。
我的php:
$value_send_checkbox = $_POST['test_send_checkbox'];
如果我有3个复选框:true,false和true,我只有一个数组为true然后为true,如何获得“false”?
答案 0 :(得分:1)
复选框的值只有在选中后才会发送,因为你的是一个数组(name='test_send_checkbox[]
)你必须检查数值是否在数组中(如果它存在的话)
if ( !empty($valueCommande['COMMANDE']["VALUE_CHECKBOX"])
&& in_array('true', $valueCommande['COMMANDE']["VALUE_CHECKBOX"]) ) {
echo "<input class='send_checkbox' checked name='test_send_checkbox[]' value='true' type='checkbox'>";
} else {
echo "<input class='send_checkbox' name='test_send_checkbox[]' value='true' type='checkbox'>";
}
修改强>
你还必须修改复选框值;因为你只关心它是否被检查,价值无关紧要,但它应该是相同的。
如果您只在此页面中使用一个复选框,则应考虑以更简单的方式重写它:
$isChecked = !empty($valueCommande['COMMANDE']["test_send_checkbox"]) ?
" checked" : "";
echo "<input class='send_checkbox' {$isChecked} name='test_send_checkbox' value='1' type='checkbox'>";
请注意,我已更改复选框值,并将其命名为。
答案 1 :(得分:0)
如果选中复选框,客户端会从复选框字段向服务器 发送值。因此,您可以使用以下两种方法之一:
echo "<input class='send_checkbox' name='test_send_checkbox[]' value='false' type='hidden'>";
if ($valueCommande['COMMANDE']["VALUE_CHECKBOX"] == "true")
{
echo "<input class='send_checkbox' checked name='test_send_checkbox[]' value='true' type='checkbox'>";
}
else
{
echo "<input class='send_checkbox' name='test_send_checkbox[]' value='true' type='checkbox'>";
}
的隐藏字段
醇>
@FeignClient(url="serviceId", name="serviceId")