我知道如何使用文本输入。我可以很容易地将php脚本放入其值中,但使用输入组进行操作似乎有所不同。如果提交表单失败,我如何维护组输入的值?
若要将复选框或单选按钮重新标记为已选中,请使用以下代码:
<input type="checkbox" name="foo" id="foo" checked="checked"/>
关键字是checked="checked"
如果您正在使用复选框组,请确保字段的name
以括号[]
结束,如下所示:
<input type="checkbox" name="foo[]" id="foo_1" value="1" checked="checked"/>
<input type="checkbox" name="foo[]" id="foo_2" value="2" checked="checked"/>
那么您的$_REQUEST['foo']
变量将自动成为一个检查值的数组。您可以使用in_array
来查看某个特定的复选框是否被选中。
基于注释
更新我是这样设置的:
<input type="checkbox" name="foo[]" id="foo_1" value="1" <?= (isset($_POST['foo'] && in_array('1', $_POST['foo'])) ? 'check="checked"' : '' ?>/>
对于单个项目(如收音机),使用如下:
<input type="radio" name="foo" id="foo" value="1" <?= isset($_POST['radio]) ? 'check="checked"' : '' ?>/>
希望对你有帮助。
更新2:另外,确保转义用户输入!你的例子应该像这样:
<input type="text" name="username" value="<?php if(isset($_POST['username']) echo htmlspecialchars($_POST['username']);?>">
总是假设用户试图破解您的系统,总是转义用户输入!
打印单选按钮和复选框input
标签的" checked"
属性,或下拉option
标签的" selected"
属性。