重新加载页面我会丢失表单中的所有值
reload page I lose all values in form
我制作了一个web表单,其中一些字段是手动输入的,其他字段是下拉列表,还有一些日历字段是javascript格式的。我最近添加的下拉列表是由上一个下拉列表的选定值填充的。当它重新加载表单时,我会丢失以前输入的所有值,并且只将该值保留在一个下拉列表中。我必须捕获所有的值吗?或者有没有一种方法可以在不重新加载表单的情况下填充第二个下拉列表?
-.-一个字。异步传输使用它。
任何时候重新加载表单都将丢失所有未记录的数据周期。
如果必须重新加载页面,请将所有数据保存在cookie或其他文件中。
有一种方法可以在不使用ajax的情况下保存数据,并且不向服务器发送任何内容。它被称为会话存储。
// store item
localStorage.setItem("index", "value");
// retrieve item
var data = localStorage.getItem("index");
因此,您只需在执行任何操作(单击按钮、向下键、鼠标离开…)后使用sessionStorage保存数据,然后在重新加载页面时,您只需要从会话中存储的数据中再次填充页面!
我认为,重新加载表单意味着提交表单,然后返回页面的版本,其中第二个下拉列表根据提交的第一个下拉列表填充。如果是这种情况,您可以考虑隐藏第二个下拉列表的所有可能值,然后在第一个下拉列表中进行选择后用JavaScript填充它。如果可能值的数量非常大,或者必须在服务器端计算(如中所示,您最初无法知道所有值),那么您可以使用AJAX提交表单,避免重新加载整个页面。
检查页面的cache-control
。此属性告诉浏览器依赖其自己的缓存来重新加载页面。
这可以设置为元标记。例如:
<meta http-equiv="Cache-control" content="public">
但更好的方法(在我看来)是通过服务器端,使用header()
函数。
请注意,有些人在表单时更喜欢将其设置为no-cache
,以避免垃圾邮件,同时出于安全考虑。
- AngularJS表单未加载
- 在窗口上加载表单未加载
- 如何用数据预加载表单(新操作),然后在Ruby on Rails中提交
- PHP/JS 表单重新加载保护
- 如何将表单从加载的表单提交到主页
- 如何在 jquery 表单中加载时设置默认值
- AngularJS 1.3-为什么表单在加载时有效,适用于长度最小的输入
- MDL表单在加载时无效
- 最后在CRM表单中加载一个JavaScript事件
- 自动提交表单页面加载
- 在提交表单之前加载ajax对话框
- 自动提交表单页面加载
- 当表单重新加载jQuery时,不保存单选按钮值
- 为什么按钮点击事件会导致网站以引导表单重新加载
- 当我的jquery(在IE中)运行时,方形空间表单未加载
- Javascript Jquery弹出式联系人表单-自动加载
- PHP停止表单重新加载显示错误Js
- 如何在提交表单时加载页面的内容
- 提交表单后加载屏幕
- 表单输入加载替换