重新加载当前页面而不会丢失用户输入

时间:2017-02-16 11:59:32

标签: javascript java struts

我创建了一个登录页面,我想在其中重新加载验证码,但我不想丢失用户输入的信息。

文件: Login.jsp

<body>
<b>REGISTER</b>
<p>Please fill up the form below.</p>
<s:form action="register" method="post">
    <s:textfield label="Enter username" key="userId" maxlength="5" size="30" id="userId"/>
    <s:password label="Enter password" key="userPsw" size="30" />
    <tr>
        <td></td>
        <td>
            <img src="<c:url value='simple-captcha.png' />" />
            <br />
            <p onclick="something()">Refresh</p>
        </td>
    </tr>
    <s:textfield label="Enter code" key="captchaResponse" size="30" />
    <s:submit value="Login" />
</s:form>

文件: Javascript代码

function something()
{
    window.location.reload(true);
}

window.onload = function()
{
    var a = sessionStorage.getItem('userId');
    if(a !== null) $('#inputName').val(name); 

    var b = sessionStorage.getItem('userPsw');
    if(b !== null) $('#userPsw').val(b);
}

window.onbeforeunload = function() {
    sessionStorage.setItem("userId", $('#userId').val());
    sessionStorage.setItem("userPsw", $('#userPsw').val());
}

On&#34; Refresh&#34;文本我想加载我的验证码但我不想丢失我的数据。

我推荐此链接How to reload current page without losing any form data?

但仍未解析查询。

1 个答案:

答案 0 :(得分:2)

使用不同的逻辑和语法后,如果他/她按 F5 或刷新页面,我就可以轻松存储用户输入。

文件: Javascript代码

<script>
    window.onload = function()
    {
        var a = sessionStorage.getItem('userId');
        if(a !== null){ 
            //alert(a);
            document.getElementById("userId").value = a; 
        }
    }

    window.onbeforeunload = function() {
        sessionStorage.setItem("userId", $('#userId').val());
    }
</script>