如何从输入类型文本中获取旧值和新值

时间:2015-01-31 10:20:20

标签: javascript html

如何从输入类型文本中获取旧值和新值;

<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();
}

5 个答案:

答案 0 :(得分:2)

试试这个,

HTML

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

的JavaScript

function onChangeTest(textbox) {
      console.log("New value: " + textbox.value + "\n" + "Old value: " + textbox.oldvalue);
}

Reference

答案 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;
}

jsFiddle

答案 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),如下所示:

&#13;
&#13;
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;
&#13;
&#13;

然后,只要发生任何更改,您就可以访问这两个值。 您需要预先填充旧值或在新值更改时更新它。欢呼声。