是否有一种方法可以在不使用页面上的data-dom-cache
的情况下保留页面上表单元素的值。
例如。我有一个表单,用户在表单中输入安全数据(第1页),然后导航到另一个页面(第2页-表单继续),点击"提交"按钮,就会向服务器发送请求。
-
如果请求失败,并且用户导航回第1页,则用户输入的值将保留在该页上。
-
如果请求成功,并且用户导航回第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-存储