【发布时间】:2011-07-27 18:13:03
【问题描述】:
我忘了说还有下拉菜单,我想保留所选的值
我有一个带有复选框、单选按钮和一些文本字段的表单。我知道如何在表单提交后保留文本字段值,但我想在提交后保持单选按钮选择和复选框的选中状态。我将发布到同一页面。
【问题讨论】:
标签: php forms checkbox radio-button
我忘了说还有下拉菜单,我想保留所选的值
我有一个带有复选框、单选按钮和一些文本字段的表单。我知道如何在表单提交后保留文本字段值,但我想在提交后保持单选按钮选择和复选框的选中状态。我将发布到同一页面。
【问题讨论】:
标签: php forms checkbox radio-button
<input type="text" name="nazev_projektu" id="nazev_projektu" class="inp" value="<?php if(isset($_POST['nazev_projektu'])) echo $_POST['nazev_projektu']; ?>" />
你可以用checked="checked"等做同样的事情。
<input type="checkbox" ... ="<?php if(isset($_POST['ThisRadioIsChecked'])) echo 'checked="checked"'; ?>" ... />
【讨论】:
$_POST 吐到文档中的人。
要预先选中单选按钮和复选框,您需要将checked="checked" 属性添加到为要显示的每个控件生成的 HTML 中。
例如,如果您目前有这个:
<input type="checkbox" name="foo" value="bar" />
你想把它改成这样:
<input type="checkbox" name="foo" value="bar"
<?php echo empty($_POST['foo']) ? '' : ' checked="checked" '; ?>
/>
更新:对于下拉菜单,您要更改:
<select name="foo">
<option value="bar">Text</option>
</select>
对此,使用selected="selected":
<select name="foo">
<option value="bar"
<?php if(isset($_POST['foo']) && $_POST['foo'] == 'bar')
echo ' selected="selected"';
?>
>Text</option>
</select>
注意保持上面显示的两个“条”值同步(在循环中回显选项将有助于确保这一点)。
【讨论】:
= 和引号在 HTML 5 中是可选的,在 HTML 4 中是不推荐的。但在 XHTML 中它们是必需的。
使用与其他字段的文本框相同的范例。您只需要设置不同的 HTML 属性,而不是通过变量传递一些文本。
对于单选框和复选框,将 HTML 属性设置为“CHECKED”,它们将被选中。
【讨论】:
你可以这样做:
<input name="cb" type="checkbox" <?php echo (isset($_POST['cb']) ? 'checked' : '') ?>>
【讨论】:
<input type="checkbox" name="foo" value="foo" <?php if(isset($_POST['foo'])){echo 'checked';} ?>"/>
【讨论】:
checked。如果将其设置为 true 或 false 则无效(并且将其设置为 false 将无法获得所需的行为)。