我有一个目前转到网址/edit/baseProductId
的网页,它有一个保存功能,可以根据您所做的更改创建一个新产品。这里的诀窍是它是一个ajax保存,因此URL不会改变。问题是如果用户刷新页面,它会重置其表单,导致URL未更新。我是否可以在不影响用户体验的情况下以某种方式更改URL中的baseProductId
?
如果我在用户刷新页面时不更改baseProductId
或提出解决方案,则会重置其表单 - 或者他们会认为。
答案 0 :(得分:2)
是的,将网址更改为/edit/baseProductId#saved
添加锚点会在浏览器的历史记录中添加一个新项目,因此刷新将随添加的哈希值一起刷新,并且以这种方式更改URL不会从服务器重新加载内容。我不知道所有浏览器是否都会在表单字段中保留信息,但您总是可以使用jQuery来禁用表单,或者让它完全消失。
答案 1 :(得分:0)
不这么认为,但如果产品存在,您是否无法更改基本代码以从数据库中检索值,并相应地填充字段?这样,当他们刷新时,他们会看到他们输入的值
答案 2 :(得分:0)
如果Cookie在下次重新加载时不为空,您可以将表单值存储为Cookie并重新填充输入。只需将函数绑定到您的输入字段,即更新相应的cookie onchange或onkeyup(可能有点多)。因此,您使用JavaScript设置cookie,然后在每次加载页面时使用服务器端语言检索它。