2014-09-26 70 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