我最近发布了一个问题,请求帮助将信息存储在变量中。我得到了答案,我认为我解决了我的问题。确实如此,但有一个问题。首先,这是我给出的帖子和答案:https://stackoverflow.com/a/21980101/2603319 TLDR:我想要一个textarea你可以在其中添加一个像“hey”这样的值并按下提交,例如,它存储在变量中所见的变量中,然后如果你再次输入“hey”,你会收到显示“此文字相同”的消息。如果您输入类似“Hello”之类的新内容,则会收到消息“此文本不同”,但如果再次键入“Hello”,则会收到消息“此文本相同”。下面和jsfiddle中的代码工作正常,但我的问题是,第一次在textarea中输入任何内容并提交时,会收到消息“此文本不同”。我该怎么做才能防止这种情况发生,同时保留我想要的功能?
这是代码和jsfiddle:
<textarea id="mytext"></textarea>
<button onclick="MyFunction();" type="button" value="submit"/>Submit</button>
var previousValue = null;
var currentValue = null;
function MyFunction(){
var currentValue = document.getElementById("mytext").value;
if(previousValue === currentValue){
alert('the text is the same');
}
else
{
alert('the text is different');
}
previousValue = currentValue;
}
答案 0 :(得分:1)
我会有这样的函数,以避免在用户初始插入值时输出;
function MyFunction(){
var currentValue = document.getElementById("mytext").value;
if(previousValue === null){
//alert('first data entry'); //<-- you can put any code you want to happen when the user initially enters a value
}else{
if(previousValue === currentValue){
alert('the text is the same');
}else{
alert('the text is different');
}
}
previousValue = currentValue;
//I thought maybe you'd want to clear the textfield after the user submits as well;
document.getElementById("mytext").value = ""; //just a suggestion
}