页面加载后如何保持输入表单的填充?

时间:2019-06-06 13:21:17

标签: html forms session input action

当我按下“提交”按钮后,我想保留表单字段。我注意到在页面加载时,我的字段被清除了,我希望它们保留以前提供的数据。 (我觉得默认情况下,浏览器以前会这样做。)是否有一种简单的方法?

现在,我正在使用GET操作,以便查看所有数据,并且页面是纯HTML文件,以使其保持简单。我知道我可以使用$ _GET ['whatever']读取所有文件,然后将值放回表单字段中,但是我觉得有一种更简单的方法可以使表单中的所有字段保持完整。

我也尝试了一些会话技巧,但是它们没有用。我还尝试去除了多余的东西,例如标签,但这并没有做任何事情。

我的页面现在很直接。我有一个基本形式:

<form name="filter" method="get" action="">
<input type="text" name="s" value="" /><br />
<select id="location">
    <option value="school">School</option>
    <option value="work">Work</option>
    <option value="home">Home</option>
</select><br />
<label><input type="checkbox" name="cat" value="0" /> Category1</label><br />
<label><input type="checkbox" name="cat" value="1" /> Category2</label><br />
<label><input type="checkbox" name="cat" value="2" /> Category3</label><br />
<input type="submit" value="Go &#10151;" />
</form>

我将提供一些值,然后提交(再次加载页面),它们将为空白。它将变量很好地传递到URL,但是我希望字段保持填充。

1 个答案:

答案 0 :(得分:1)

首先,您可以在<form>标记内使用autocomplete =“ on”,以确保可以从浏览器创建的下拉菜单中选择文本

<form name="filter" method="get" action="" autocomplete="on">
<input type="text" name="s" value="" /><br />
<select id="location">
    <option value="school">School</option>
    <option value="work">Work</option>
    <option value="home">Home</option>
</select><br />
<label><input type="checkbox" name="cat" value="0" /> Category1</label><br />
<label><input type="checkbox" name="cat" value="1" /> Category2</label><br />
<label><input type="checkbox" name="cat" value="2" /> Category3</label><br />
<input type="submit" value="Go &#10151;" />
</form>

虽然此功能适用于文本信息(不是真正的自动填充功能,但好用易用),但不适用于选项和标签选项

如果无法解决问题,您可以尝试在用户单击“提交”时使用JavaScript将数据存储到Cookie中。然后,在重新加载页面时,如果cookie存在,请使用JavaScript设置表单的值。

参考文献/有用信息:

在此处您可以了解有关自动完成的更多信息: https://www.w3schools.com/tags/att_form_autocomplete.asp

用于在加载时选中该框:Check/Uncheck checkbox with JavaScript (jQuery or Vanilla)?

要在页面加载后加载内容:JavaScript that executes after page load

要保存在复选框中: Get the value of checked checkbox?

注意:您还有另一种方法...就像您的GET,首先想到的是cookie。