我有一个HTML表单,它使用JavaScript向表单添加控件。例如,单击表单上的按钮时,会向表单添加一个文本框。
当用户提交表单时,用户将被带到另一个视图。但是,如果用户单击浏览器上的后退按钮,则他/她将被带到上一个表单(具有添加控件的按钮),但是他/她之前没有动态添加的文本框正在显示。但是,其他静态表单控件显示先前输入的数据。
我怎样才能按下后退按钮返回完整的先前状态? 或者我是否需要在自定义按钮中实现此功能?我怎么能这样做?
答案 0 :(得分:1)
sessionStorage
应该适合,在这里。
sessionStorage
sessionStorage
中是否保存了任何字段,如果是这样的话,一些伪代码:
function fieldAdded(name, value){
sessionStorage[name] = value;
// You can also use this function to update the saved value, when fields are edited.
}
function pageLoad(name, value){ // load event after pressing "back"
var optionalFields = ['telephone','fax','name','description'];
for(var i = 0; i < optionalFields.length; i++){
if(sessionStorage[optionalFields[i]]){
// addField(Name, value);
addField(optionalFields[i], sessionStorage[optionalFields[i]]);
}
}
}
function fieldRemoved(name){
delete sessionStorage[name];
}