2017-08-24 69 views
0

我从文本字段获取值并将其存储在本地存储中,因为我需要在用户验证后将相同的值输入到文本字段。一旦存储了值,它就不会自动更新,因为每次更改文本字段中的值时,我都希望在本地存储中存储相同的值,但只会存储一个值,并且每次存储第一个值时都会显示相同的值时间。如何在本地存储器中更新数据JavaScript

JSP

<s:textfield name="emailId" id="emailId" label="Email" cssClass="dataFieldCell3" value="%{#signerslist.email}" /> 

JS

设置变量在本地存储

function showEmail() { 
    var email = document.getElementById("emailId").value; 
    localStorage.setItem("invalidEmail", email); 
} 

得到它,并给它分配回的文本字段

function emailValidationErrorMessage() { 
    if('${emailValidationMessage}' !== "") { 
     $("#Signers").show(); 
     var getEmailValue = localStorage.getItem("invalidEmail"); 
     document.getElementById("emailId").value = getEmailValue; 
    } 
} 

请指导。 ..

谢谢:)

+0

为什么你使用localStorage而不仅仅是一个常规的事件处理程序? – adeneo

+0

我认为这是如此使用它的唯一方法。 – Mike

回答

1

...我每次更改文本字段我希望存储 在本地存储的值相同的值时...

然后, showEmail函数需要设置为文本字段的回调函数change事件,以便localStorage将在每次用户更改文本字段中的值时更新。

document.getElementById("emailId").addEventListener("change", showEmail); 
+0

Scott!那么你想让我添加这条线? – Mike

+0

@Mike这应该被添加到你的JavaScript,在网页加载完成后执行,所以你可以把它放到一个'script'中,它就在关闭'body'标签之前。 –

+0

你太棒了。它像一个魅力。非常感谢。 – Mike