我有一个简单的表单,上面有一个复选框。
如果用户选择它并提交表单(表单发布回同一页面) - 如何确保在页面重新加载时选中该复选框?
if($_POST["name_of_the_checkbox"]) { /*TODO*/ }
假设您有以下复选框输入:
<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>
如果您有任何其他问题,请告诉我。我可能忘记了什么...但这应该是一个好的开始。
首先,在表单标签中设置action
属性,用于将数据发送到自定义 php 脚本。如果为空,则表单将数据发送到同一页面(重新加载)。其次,为了检查传入脚本使用的内容:
<?=var_export($_REQUEST)?>
在表单定义之前或之后。
试试这个
<input type="checkbox" name="check_box_name" <?php if (isset($_POST['check_box_name'])) { echo 'checked="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>
这将在输入的末尾进行检查,并将导致相同的结束输出
<input type="checkbox" name="x" <?php echo isset($_POST['x']) ? 'checked' : ''; ?>>