我有一个文本输入。当页面加载时,会向其中填充一个值。如果用户在文本框中更改了任何内容,那么我希望获得更改后的值(新值)和旧值。但是调用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>
发布于 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>
发布于 2014-08-19 08:12:51
您应该使用HTML5数据属性。您可以创建自己的属性,并在其中保存不同的值。
发布于 2011-05-30 23:16:29
我建议:
function onChange(field){
field.old=field.recent;
field.recent=field.value;
//we have available old value here;
}
https://stackoverflow.com/questions/1909992
复制相似问题