【问题标题】:How to get old value and new value from input type text如何从输入类型文本中获取旧值和新值
【发布时间】:2015-03-30 19:01:00
【问题描述】:

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

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

【问题讨论】:

  • 你能解释一下oldnew 值是什么意思吗?还有你的getoldvalue()getnewvalue() 函数在哪里?
  • 你所说的“旧”值是什么意思,之前输入的值,还是属性中给出的值?
  • 您应该选择一个答案,您仍然是活跃用户,但尚未选择正确答案。

标签: javascript html


【解决方案1】:

试试这个,

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

【讨论】:

    【解决方案2】:

    您可以在输入字段中添加另一个属性(prevvalue),如下所示:

    function myfunction(id){
      var oldvalue = id.getAttribute("prevvalue");
      var newvalue = id.value;
      alert(oldvalue);
      alert(newvalue);
    }
        &lt;input type="text" name="quantity-row_111" value="1" prevvalue="4.50" id="quantity-row_111" onchange="myfunction(this);"&gt;

    然后,无论何时发生任何更改,您都可以访问这两个值。 您将需要预先填充旧值或在新值更改时更新它。干杯。

    【讨论】:

      【解决方案3】:

      如果你的元素id是quantity-row_111,你可以通过以下方式获取原值和新值:

      console.log("new value="+ document.getElementById('quantity-row_111').value  ); 
      console.log("Original value="+ document.getElementById('quantity-row_111').defaultValue);
      

      查看控制台日志以获取结果。

      【讨论】:

        【解决方案4】:

        将新值保存为旧值。这可能就是你想要的,

        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

        【讨论】:

          【解决方案5】:

          你应该试试这样的:

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

          【讨论】:

            猜你喜欢
            • 2017-02-01
            • 2018-05-26
            • 2015-04-09
            • 1970-01-01
            • 2019-02-13
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2017-05-25
            相关资源
            最近更新 更多