提交PHP后保留表单值

时间:2011-04-01 14:41:09

标签: php forms checkbox radio-button

我忘了说还有下拉菜单,我想保留所选的

我有一个带有复选框,单选按钮和一些文本字段的表单。我知道如何在表单提交后保留文本字段值,但我想保持选中单选按钮并在提交后选中复选框。我发布到同一页面。

5 个答案:

答案 0 :(得分:13)

要预先选中单选按钮和复选框,您需要将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>

小心保持上面显示的两个“条形”值同步(回显循环中的选项将有助于确保这一点)。

答案 1 :(得分:3)

你可以这样做:

<input name="cb" type="checkbox" <?php echo (isset($_POST['cb']) ? 'checked' : '') ?>>

答案 2 :(得分:3)

<input type="checkbox" name="foo" value="foo" <?php if(isset($_POST['foo'])){echo 'checked';} ?>"/>

答案 3 :(得分:1)

使用与其他字段的文本框相同的范例。您只需要设置不同的HTML属性,而不是通过变量传递一些文本。

对于收音机框和复选框,请将HTML属性设置为“已检查”,然后检查它们。

答案 4 :(得分:0)

<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"'; ?>" ... />