如何使用javascript获取具有更改事件的文本框的第一个值?

时间:2019-04-24 04:10:34

标签: javascript asp.net

我有一个文本框,其值已与数据库绑定。我在文本框中有onkeyup事件。我想像旧值加上新值一样进行计算。是否存在可以使用javascript加载页面后获取文本框值的功能?

例如页面加载为5时的第一个值 当我将文本框更改为3时,标签值将为8 当我再次将文本框更改为4时,标签值将为9。

3 个答案:

答案 0 :(得分:2)

除了知道实际的value之外,还必须将原始值保留在data属性中。例如:

<input id="my-text-box" type="text" data-original-value="5" value="5">

然后您可以通过jQuery访问原始值:

$('#my-text-box').data().originalValue;

或使用纯JavaScript:

var element = document.getElementById('my-text-box');
var originalValue = element.getAttribute("data-original-value");

以及jQuery的新价值:

$('#my-text-box').val();

或使用纯JavaScript:

var element = document.getElementById('my-text-box');
var originalValue = element.value;

编辑:用于普通的JavaScript答案。

答案 1 :(得分:1)

如果您的文本输入的idmy-text-input,并且变量名为originalValue

window.onload( function() {
 originalValue = document.getElementById('my-text-input').value 
});

答案 2 :(得分:1)

您可以使用product-price-text属性并在其中设置默认值。然后使用data事件监听器,一旦焦点从输入中移出,它将获得默认值和新值。使用onchange将字符串转换为数字,然后再添加

parseInt
function updateValue(e) {
  let defaultVal = e.target.dataset.val;
  let newVal = e.target.value;
  e.target.value = parseInt(defaultVal, 10) + parseInt(newVal, 10)
}