3

我是 Javascript 的菜鸟,但我试图在我的网站上实现一些东西,用户可以在其中输入一个数量,并且小计在他们输入时动态更新。例如:如果每个项目是 10 美元,并且用户在文本字段中键入 5,我希望它在文本框旁边显示 50 美元。很简单的乘法,但我不知道如何用 Javascript 来做。我认为 onKeyPress 不知何故?谢谢!

4

2 回答 2

6

假设以下 HTML:

<input type="text" id="numberField"/>
<span id="result"></span>

JavaScript:

window.onload = function() {
   var base = 10;
   var numberField = document.getElementById('numberField');
   numberField.onkeyup = numberField.onpaste = function() {
      if(this.value.length == 0) {
         document.getElementById('result').innerHTML = '';
         return;
      }
      var number = parseInt(this.value);
      if(isNaN(number)) return;
      document.getElementById('result').innerHTML = number * base;
   };
   numberField.onkeyup(); //could just as easily have been onpaste();
};

这是一个工作示例

于 2010-09-21T04:45:19.617 回答
0

您应该处理“onkeyup”和“onpaste”事件,以确保您通过键盘和剪贴板粘贴事件捕获更改。

<input id='myinput' />
<script>
  var myinput = document.getElementById('myinput');
  function changeHandler() {
    // here, you can access the input value with 'myinput.value' or 'this.value'
  }
  myinput.onkeyup = myinput.onpaste = changeHandler;
</script>

同样,当你想显示结果时,使用getElementById和元素的属性来设置元素的内容。innerHTML

于 2010-09-21T04:44:22.117 回答