有没有办法在页面上保留表单元素的值而不使用页面上的data-dom-cache
。
例如。我有一个表单,用户将安全数据输入到表单(Page1)并导航到另一个页面(页面2 - 表单继续),然后单击“提交”按钮将请求发送到服务器。
如果请求失败并且用户导航回第1页,则用户输入的值将保留在页面上。
如果请求成功并且用户导航回第1页,则用户输入的值不会保留在页面上。
如果没有在页面上使用'data-dom-cache'属性,有没有办法解决这个问题。
答案 0 :(得分:1)
您可以使用HTML sessionStorage
编辑:
当您离开page1时,您可以将页面数据保存在sessionStorage中,例如
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的浏览器支持: