【发布时间】:2015-04-08 21:42:02
【问题描述】:
我制作了一个带有复选框的简单表单,该复选框根据复选框是否设置而回显真或假,但是每次我单击提交时,一旦勾选了复选框控件,它似乎就会重置。
如何修改我的代码以存储任何表单控件的值,这样如果我勾选该框,在我点击提交后它仍然保持勾选状态?
<?php
// Setup Variables
$Result = '';
if (isset($_POST["submit"])) {
//Use Captials?
if(isset($_POST['formCheckbox']) && $_POST['formCheckbox'] == 'Yes') {
$Result = "true";
} else {
$Result = "false";
}
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Bootstrap Contact Form</title>
<link rel="stylesheet" href="css/bootstrap.min.css">
</head>
<body>
<div class="container">
<div class="row">
<div class="col-md-6 col-md-offset-3">
<h1 class="page-header text-center">Contact Form Example</h1>
<form class="form-horizontal" role="form" method="post" action="index.php">
Checkbox
<input type="checkbox" name="formCheckbox" value="Yes"/>
<div class="form-group">
<div class="col-sm-10 col-sm-offset-2">
<input id="submit" name="submit" type="submit" value="Send" class="btn btn-primary">
</div>
</div>
</form>
<div class="col-sm-10 col-sm-offset-2">
<?php echo $Result; ?>
</div>
</div>
</div>
</div>
<script src="js/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
</body>
</html>
【问题讨论】:
-
>
-
您正在检查 $_POST 中的值,但在显示复选框的 HTML 时您没有对其执行任何操作
-
尝试使用推荐的变量命名约定,即 $variableName 或 $variable_name,但不是 $Variable。大写通常用于类名......我也认为这部分:$Result = "true";应该看起来像这样 $result = true;在您的示例中,您使用的是字符串,而在我的示例中,它是布尔值 ...
-
我做了 $Result = "true";因为我只是想以文本形式查看结果,所以我认为这两种方式都很好。至于命名我知道通常的方式,但我倾向于喜欢大写字母,对于一个严肃的项目我会使用正常的约定。
标签: php forms twitter-bootstrap reset