如何在不使用数据dom缓存的情况下保持jquery移动页面的状态



是否有一种方法可以在不使用页面上的data-dom-cache的情况下保留页面上表单元素的值。

例如。我有一个表单,用户在表单中输入安全数据(第1页),然后导航到另一个页面(第2页-表单继续),点击"提交"按钮,就会向服务器发送请求。

  1. 如果请求失败,并且用户导航回第1页,则用户输入的值将保留在该页上。

  2. 如果请求成功,并且用户导航回第1页,则用户输入的值不会保留在页面上。

有没有一种方法可以做到这一点,而不在页面上使用"data-dom-cache"属性。

您可以使用HTML会话存储

编辑:

当您离开第1页时,您可以将页面数据保存在会话存储中,例如

var keyForStep1 ='step1'   
var objectValue = JSON.stringify({name:"John",lastname:"Doe", other:"other staff"});//NOTE: your form data  
if (typeof (sessionStorage) !== "undefined") {
                if (keyForStep1!== null) {
                    if (sessionStorage.keyForStep1) {
                        try {
                            //sessionStorage.key = objectValue;
                            sessionStorage.setItem(keyForStep1, objectValue);
                        } catch (e) {
                            console.log("LIMIT REACHED: (" + i + ")");
                            console.log(e);
                        }
                    }
                }
            }

如果请求失败,您可以像这样从存储中读取数据(您可以检查keyForStep1是否存在,如果存在,则从中读取数据)。

var objData = JSON.parse(sessionStorage.keyForStep1);
console.log(objData.name)//etc..

http://www.w3schools.com/html/html5_webstorage.asp

你可以在这里看到浏览器对sessionStorage的支持:

http://caniuse.com/#feat=namevalue-存储

相关内容

最新更新