我有一个 HTML 表单,它使用 JavaScript 向表单添加控件。例如,当单击表单上的按钮时,会在表单中添加一个文本框。
当用户提交表单时,用户将被带到另一个视图。但是,如果用户单击浏览器上的后退按钮,她/他将被带到前一个表单(具有添加控件的按钮),但他/她之前动态添加的文本框都不会显示。但是,其他静态表单控件显示之前输入的数据。
我怎样才能让它按下后退按钮返回到完整的先前状态?还是我需要在自定义按钮中实现它?我怎样才能做到这一点?
我有一个 HTML 表单,它使用 JavaScript 向表单添加控件。例如,当单击表单上的按钮时,会在表单中添加一个文本框。
当用户提交表单时,用户将被带到另一个视图。但是,如果用户单击浏览器上的后退按钮,她/他将被带到前一个表单(具有添加控件的按钮),但他/她之前动态添加的文本框都不会显示。但是,其他静态表单控件显示之前输入的数据。
我怎样才能让它按下后退按钮返回到完整的先前状态?还是我需要在自定义按钮中实现它?我怎样才能做到这一点?
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];
}