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