2011-07-12 35 views
1

我有一个页面,目前去的网址/edit/baseProductId,它有一个保存功能,创建一个新的产品与您所做的更改。这里的技巧是它是一个ajax保存,所以URL不会改变。问题在于,如果用户刷新页面,它将重置其表单,导致URL未更新。我有可能以某种方式更改URL中的baseProductId而不影响用户体验?页面URL delima - 控制浏览器刷新

如果我不更改baseProductId或在用户刷新页面时想出一些解决方案,它会重置表单 - 或者他们会这样想。

回答

2

是,将URL更改为/edit/baseProductId#saved

添加锚增加了一个新的项目,以浏览器的历史,所以刷新将刷新与哈希添加,并以这种方式更改网址不会从服务器重新加载内容。我不知道是否所有浏览器都会在表单字段中保留信息,但是您可以始终使用jQuery来禁用表单,或者使其完全消失。

+0

完美的解决方案...我做了'#saved-PRODUCTID',如果存在,它会转发到保存项目的编辑页面。谢谢您的帮助! – Webnet

0

不这么认为,但是如果产品存在,您不能更改基本代码以从数据库中检索值,并相应地填充字段?这样一来,当他们刷新他们会看到值便进入

0

如果在下次重新加载时Cookie不为空,您可以将表单值存储为Cookie并重新填充输入。只需将一个函数绑定到您的输入字段即可更新onchange或onkeyup上的相应cookie(可能有点多)。因此,您使用JavaScript设置Cookie,然后在每次页面加载时使用服务器端语言检索它。