我在文本框中使用MVC hmtl helper语法,即{。{1}}。我有很长的形式,有多个文本框,单选按钮和下拉。
问题在于,当我刷新页面时,控件中填充的值即文本框,下拉列表,填充的单选按钮都会丢失。
即使用户刷新页面,如何避免这种情况并恢复表单的填充值?除localstorage / cookies之外的任何其他方法等。
答案 0 :(得分:0)
您可以使用sessionStorage
创建jquery自定义方法,并且可以将其添加到jquery.fn
对象,以便在页面刷新后保留表单数据
(function($){
// To Load your form values from sessionStorage, and set sessionStorage when value is changed.
$.fn.keepValue = function(name) {
if(!name) {
name= "";
}
return this.each(function() {
var $this = $(this);
var id = $this.attr('id');
var storage_name = namespace + id;
var value;
// Store form changes in a cookie
$this.change(function() {
sessionStorage.setItem(storage_name, $this.val());
});
value = sessionStorage.getItem(id);
// Don't overwrite value if it's already exist
if(!$this.val()) {
$this.val(name + value);
}
});
};
})(jQuery);
$(document).ready(function(){
$('#YourElementId').keepValue();
});