2014-09-26 63 views
1

我遇到问题。返回页面时表格值丢失

我正在构建一个包含多个页面的网站。
当用户单击提交按钮时,页面中会有一个表单(包含一些AngularJS),第二个页面出现在确认表单提交的位置。
如果出现任何错误,它将显示一条带有错误消息的消息并返回一个按钮(javascript:history.go(-1))。
当用户点击这个后退按钮时,表单页面会再次显示,但所有栏位都空白(该页面似乎完全重新加载...)。无论如何与没有AngularJS的其他形式这种机制工作正常...
有什么不对?

谢谢! :-)

PS:无论如何,表单页面有检查,如果有任何错误,禁用提交按钮,但我不明白为什么页面重新加载时,用户通过后退按钮,而与其他形式它不会发生...

+0

它不是一个好主意,依靠病史,您可以保存在cookie中 – Shadow 2014-09-26 07:50:20

+0

表说明它是不安全的保存在cookie中形式的详情。使用会话Cookie或保存到数据库。 – 2014-09-26 07:51:33

回答

0

如果两个页面属于同一个应用程序(在相同的app.js下),那么你可以存储表格的值在$ rootScope变量而不是$ scope。

而且导航,您可以用$ location.Path

+0

即使页面不同(不是单页面应用程序,但是不同的HTTP请求),但是使用相同的app.js,我可以使用$ rootScope吗? – TesX 2014-09-28 08:50:20

+0

是的。 如果您看到变量的作用域,则 $ scope仅适用于该控制器,对于该HTML页面,但$ rootScope位于应用程序级别,因此除非再次调用app.js,否则值将被保留。 拥有$ rootScope的主要目的是在同一应用的控制器之间共享数据。 – Rajesh 2014-09-29 10:05:13