提交PHP后保留表单值

shi*_*juo 6 php forms checkbox radio-button

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

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

Jon*_*Jon 14

要预先选中单选按钮和复选框,您需要将checked="checked"属性添加到为要显示的每个控件生成的HTML中.

例如,如果您目前有此:

<input type="checkbox" name="foo" value="bar" />
Run Code Online (Sandbox Code Playgroud)

您想将其更改为:

<input type="checkbox" name="foo" value="bar"
    <?php echo empty($_POST['foo']) ? '' : ' checked="checked" '; ?>
/>
Run Code Online (Sandbox Code Playgroud)

更新:对于下拉菜单,您要更改此设置:

<select name="foo">
  <option value="bar">Text</option>
</select>
Run Code Online (Sandbox Code Playgroud)

对此,使用selected="selected":

<select name="foo">
  <option value="bar" 
    <?php if(isset($_POST['foo']) && $_POST['foo'] == 'bar') 
          echo ' selected="selected"';
    ?>
  >Text</option>
</select>
Run Code Online (Sandbox Code Playgroud)

小心保持上面出现的两个"条形"值同步(回显循环中的选项将有助于确保这一点).

  • 您始终需要设置该值.它是属性*name*,`=`和引号在HTML 5中是可选的,在HTML 4中推荐使用.在XHTML中它们是必需的. (2认同)