0

我有一个简单的表格,上面有一个复选框。

如果用户选择它并提交表单(表单发回同一页面) - 我如何确保在页面重新加载时选中该复选框?

4

6 回答 6

1

假设您有以下复选框输入:

<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> 

如果您有任何其他问题,请告诉我。我可能忘记了什么……但这应该是一个好的开始。

于 2013-11-04T15:52:14.463 回答
1
if($_POST["name_of_the_checkbox"]) { /*TODO*/ }
于 2013-11-04T15:49:30.363 回答
0

尝试这个

<input type="checkbox" name="check_box_name" <?php if (isset($_POST['check_box_name'])) { echo 'checked="checked"'; } ?>>
于 2013-11-04T15:52:43.380 回答
0
<input type="checkbox" name="x" <?php echo isset($_POST['x']) ? 'checked' : ''; ?>>
于 2013-11-04T16:07:16.547 回答
0

我只是让用户发布表单,并在您定义表单的位置有以下代码:

<?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>

这将检查输入的末尾,并会导致相同的最终输出

于 2013-11-04T15:55:00.820 回答
0

首先,action在表单标签中设置属性以将数据发送到自定义 php 脚本。如果它为空,则表单将数据发送到同一页面(重新加载)。其次,用于检查脚本使用的内容:

<?=var_export($_REQUEST)?>

在表单定义之前或之后。

于 2013-11-04T15:49:39.833 回答