我有一个简单的表格,上面有一个复选框。
如果用户选择它并提交表单(表单发回同一页面) - 我如何确保在页面重新加载时选中该复选框?
假设您有以下复选框输入:
<input type="checkbox" name="action" value="Option 1" >1;
<input type="checkbox" name="action" value="Option 2" >2;
<input type="checkbox" name="action" value="Option 3" >3;
您想像这样将值存储在$_POST
变量中:
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["action"])){
$Q1Err = "<br />Please Select Atleast One";
} else {
$Q1 = ($_POST["action"]);
}
与往常一样,您应该在任何页面开始之前将变量声明为空:
$Q1 = ""
$Q1Err = ""
然后回到input
标签并在其中输入php标签:
<input type="checkbox" name="action" <?php if (isset($Q1) && $Q1=="Option 1") echo "checked";?> value="Option 1" >1;
<input type="checkbox" name="action" <?php if (isset($Q1) && $Q1=="Option 2") echo "checked";?> value="Option 2" >2;
<input type="checkbox" name="action" <?php if (isset($Q1) && $Q1=="Option 3") echo "checked";?> value="Option 3" >3;
<span><br /><?php echo $Q1Err;?></span>
如果您有任何其他问题,请告诉我。我可能忘记了什么……但这应该是一个好的开始。
if($_POST["name_of_the_checkbox"]) { /*TODO*/ }
尝试这个
<input type="checkbox" name="check_box_name" <?php if (isset($_POST['check_box_name'])) { echo 'checked="checked"'; } ?>>
<input type="checkbox" name="x" <?php echo isset($_POST['x']) ? 'checked' : ''; ?>>
我只是让用户发布表单,并在您定义表单的位置有以下代码:
<?php
if(isset($_POST["checkbox-name"])) {
echo "<input type="checkbox" value="value" name="Please check me"></input>";
} else {
echo "<input type="checkbox" value="value" name="Please check me" checked></input>";
}
?>
请注意,这只是为了清楚起见,您自然也可以通过仅将 php 标签放在输入字段的实际“已检查”参数周围来使其更短,如下所示:
<input type="checkbox" value="value" name="Please check me"
<?php
if(isset($_POST["checkbox-name"])) {
echo "checked";
}
?>
></input>
这将检查输入的末尾,并会导致相同的最终输出
首先,action
在表单标签中设置属性以将数据发送到自定义 php 脚本。如果它为空,则表单将数据发送到同一页面(重新加载)。其次,用于检查脚本使用的内容:
<?=var_export($_REQUEST)?>
在表单定义之前或之后。