首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在文本框中使用onchange()事件获取旧值

如何在文本框中使用onchange()事件获取旧值
EN

Stack Overflow用户
提问于 2009-12-16 04:01:29
回答 8查看 248.3K关注 0票数 95

我有一个文本输入。当页面加载时,会向其中填充一个值。如果用户在文本框中更改了任何内容,那么我希望获得更改后的值(新值)和旧值。但是调用ELEMENT.value时,它只返回更改后的/新值。

如何获取旧值?

下面是我的代码:

      <head>
        <script type="text/javascript">
          function onChangeTest(changeVal) {
            alert("Value is " + changeVal.value);
          }
        </script>
      </head>
      <body>
        <form>
          <div>
              <input type="text" id="test" value ="ABS" onchange="onChangeTest(this)">  
          </div>
        </form>
      </body>
EN

回答 8

Stack Overflow用户

发布于 2009-12-16 04:27:58

您需要手动存储旧值。你可以用很多不同的方式来存储它。你可以使用一个javascript对象来存储每个文本框的值,或者你可以使用一个隐藏字段(我不推荐这样做-- html太多),或者你可以在文本框本身上使用一个expando属性,如下所示:

<input type="text" onfocus="this.oldvalue = this.value;" onchange="onChangeTest(this);this.oldvalue = this.value;" />

然后,处理更改的javascript函数如下所示:

    <script type="text/javascript">
    function onChangeTest(textbox) {
        alert("Value is " + textbox.value + "\n" + "Old Value is " + textbox.oldvalue);
    }
    </script>
票数 186
EN

Stack Overflow用户

发布于 2014-08-19 08:12:51

您应该使用HTML5数据属性。您可以创建自己的属性,并在其中保存不同的值。

票数 7
EN

Stack Overflow用户

发布于 2011-05-30 23:16:29

我建议:

function onChange(field){
  field.old=field.recent;
  field.recent=field.value;

  //we have available old value here;
}
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1909992

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档