如何从输入类型文本中获取旧值和新值;
<input type="text" name="quantity-row_111" value="1" id="quantity-row_111" onchange="myfunction(id);">
function myfunction(id){
var oldvalue = getoldvalue();
var newvalue = getnewvalue();
}
答案 0 :(得分:2)
试试这个,
<input type="text" onfocus="this.oldvalue = this.value;" onchange="onChangeTest(this);this.oldvalue = this.value;" />
function onChangeTest(textbox) {
console.log("New value: " + textbox.value + "\n" + "Old value: " + textbox.oldvalue);
}
答案 1 :(得分:1)
如果您的元素ID为quantity-row_111,则可以通过以下方法获取原始值和新值:
console.log("new value="+ document.getElementById('quantity-row_111').value );
console.log("Original value="+ document.getElementById('quantity-row_111').defaultValue);
在控制台日志中查看结果。
答案 2 :(得分:0)
将newvalue保存为旧值。这可能就是你想要的,
var oldvalue = document.getElementById("quantity-row_111").value;
var newvalue;
function myfunction(id){
alert(oldvalue);
newvalue = document.getElementById("quantity-row_111").value;
oldvalue = newvalue;
}
答案 3 :(得分:0)
你应该尝试这样的事情:
$(document).ready(function () {
var OldValue;
$("form :input").click(function () {
var field= ($(this).attr('name'));
OldValue= ($(this).attr('field'));
})
$("form :input").change(function () {
var field = ($(this).attr('name'));
var value = ($(this).attr('value'));
console.log('Field:: ' + field + '\nNew Value: ' + value + '\nOld Value: ' + OldValue+'\n--------------------\n');
})
})
答案 4 :(得分:0)
您可以在输入字段中添加另一个属性(prevvalue),如下所示:
function myfunction(id){
var oldvalue = id.getAttribute("prevvalue");
var newvalue = id.value;
alert(oldvalue);
alert(newvalue);
}
&#13;
<input type="text" name="quantity-row_111" value="1" prevvalue="4.50" id="quantity-row_111" onchange="myfunction(this);">
&#13;
然后,只要发生任何更改,您就可以访问这两个值。 您需要预先填充旧值或在新值更改时更新它。欢呼声。