即使单击后退按钮,Javascript也存储会话值

时间:2015-04-11 05:09:33

标签: javascript

我需要知道在用户按下后退按钮后如何显示表单的输入数据。

这是工作jsfiddle

我创建了一个简单的asp页面。

如果我在输入一些输入值后单击“下一步”,它将转到下一页,然后再次单击“返回”,它不会显示输入的输入值。

$("#form").submit(function() {
    var inputs=$('.input');
    for(i=0;i<inputs.length;i++)validateEmail(inputs[i]);
    if($('.invalid').length!==0)return false;
});

我需要展示这些价值观。我怎样才能做到这一点?提前谢谢!

注意:在我的jsfiddle中没有包含下一页操作。

1 个答案:

答案 0 :(得分:1)

你有几种方法,虽然我不是粉丝的忠实粉丝,因为它们管理起来并不那么聪明。

您可以使用:

  • localStorage API,如果您希望保存您的值,直到用户清除缓存,如下所示:

    var myValues = [];
    for(i=0;i<inputs.length;i++) {
        validateEmail(inputs[i]);
        myValues.push(inputs[i].value);
    }
    
    // Save them fot later use
    localStorage.myValues = JSON.stringify(myValues);
    
    // After clicking the button you can retrieve them back
    var oldValues = JSON.parse(localStorage.myValues);
    
  • sessionStorage API,适用于浏览器的当前会话(即,当用户关闭浏览器时,它会被删除):

    var myValues = [];
    for(i=0;i<inputs.length;i++) {
        validateEmail(inputs[i]);
        myValues.push(inputs[i].value);
    }
    
    // Save them fot later use
    sessionStorage.myValues = JSON.stringify(myValues);
    
    // After clicking the button you can retrieve them back
    var oldValues = JSON.parse(sessionStorage.myValues);
    

注意:我使用JSON.parseJSON.stringify,因为两个存储对象(本地和会话)只能以字符串格式存储数据。