我有一个文本输入。页面加载时会向其中填充一个值。如果用户更改了文本框中的任何内容,那么我想获取更改后的值(新值)和旧值。但是调用 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>
最佳答案
您需要手动存储旧值。你可以用很多不同的方式存储它。您可以使用 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>
关于javascript - 如何使用文本框中的 onchange() 事件获取旧值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1909992/