防止输入值在刷新时重置

asi*_*mes 3 html javascript input

我注意到在Firefox中,输入元素在页面重置时保持其值,但在Safari中不保留.有没有办法维护用户在JavaScript中输入的值(没有PHP).

我已经尝试了相当广泛的谷歌搜索,但每个结果似乎都发现这种行为是不受欢迎的.

编辑:不确定我做错了什么,这是我尝试过的:

<input id="myInput" type="text">
<script>
    var myInput = document.getElementById("myInput");

    if (sessionStorage.getItem("autosave"))
        myInput.value = sessionStorage.getItem("autosave");

    myInput.addEventListener("change", function() {
        sessionStorage.setItem("autosave", myInput.value);
    });
</script>
Run Code Online (Sandbox Code Playgroud)

编辑(再次):搞定了,谢谢:

<input id="myInput" type="text">
<script>
    var myInput = document.getElementById("myInput");

    window.onload = function() {
        if (sessionStorage.getItem("autosave"))
            myInput.value = sessionStorage.getItem("autosave");
    }

    myInput.addEventListener("keyup", function() {
        sessionStorage.setItem("autosave", myInput.value);
    });
</script>
Run Code Online (Sandbox Code Playgroud)

Chi*_*g64 5

我认为sessionStorage对此非常理想,因为localStorage和cookies会在会话中保持这些值,这可能不是你想要的.