我正在尝试完成一项简单的任务(但对我来说并不简单)。
我有一个表单,我在使用此复选框时出现问题。
<input type="checkbox" name="b"
<?php if (isset($_POST[b])) echo "value='y'"; else echo "value='n'"; ?>/>
我不确定我是否使用正确的,但它对我不起作用。
所以基本上我希望input
的{{1}}的值为b
如果选中该复选框,否则如果取消选中该复选框,它将始终为y
。
答案 0 :(得分:4)
这不是复选框的工作方式。
检查checked
属性何时出现。
<input type="checkbox" name="a" value="a" checked /> Checked
<input type="checkbox" name="a" value="a" /> NOT Checked
所以你要使用
<input type="checkbox" name="a" value="a" <?php echo isset($_POST['b']) ? "checked" : ""; ?>/>
现在,如果设置了$_POST['b']
,则会选中该复选框。
此外,您还有$_POST[b]
。 b
应该在引号中。它应该是$_POST['b']
答案 1 :(得分:2)
您必须使用两个条件,一个用于显示已选中/未选中,第二个用于显示y / n
<input type="checkbox" name="b" <?php echo (isset($_POST['b'])?"value='y'":"value='n'")?>
<?php echo (isset($_POST['b'])?"checked":"") ?> />
答案 2 :(得分:0)
测试代码!
<form method="post">
<input type="checkbox" name="b" <?php if (isset($_POST['b'])) echo "value='y'"; else echo "value='n'"; ?>/>
<input type="submit" name="asd" value="asd">
</form>
所以请使用以下
<?php if (isset($_POST['b'])) echo "value='y'"; else echo "value='n'"; ?>
答案 3 :(得分:0)
这对我有用:
第一步:给复选框一个默认值
然后:仅在选中该框时才分配所需的值。
<input type="hidden" name="b" value="n">
<input type="checkbox" name="b" value="y" >
答案 4 :(得分:0)
*部署批准:
<input type="radio" name="dep_approval_status" value="Approved"
<?php
if ($deploy['dep_approval_status'] === "Approved")
{
echo ' checked';
}
?>
/> Yes, approved
<input type="radio" name="dep_approval_status" value="Not Approved"
<?php
if ($deploy['dep_approval_status'] === "Not Approved")
{
echo ' checked';
}
?>
/> Not Approved