![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
js怎么获取文本框的值然后运算
事情是这个样子的,我准备把几个文本框中获得的值提取出来,然后进行运算,最后显示出结果,在网上东拼西凑了些代码,但是运算结果有问题,不知道该咋办了,望大神朋支招,谢谢!本人...
事情是这个样子的,我准备把几个文本框中获得的值提取出来,然后进行运算,最后显示出结果,在网上东拼西凑了些代码,但是运算结果有问题,不知道该咋办了,望大神朋支招,谢谢!本人小白哈,希望说得清楚明白些,十分感谢!
展开
2个回答
展开全部
- -!keyup是键盘上的按键弹起的事件,你写这个干啥,而且你这个$(this)指向的全都是$(".d")这同一个元素。如果你想点击键盘按键的时候进行计算,那也得先看一下按键编码,一般都是按enter键的时候计算,如果你要用的话就要麻烦一点,先用这个函数看看enter的按键编码是多少:
document.onkeyup = function (e) {
console.log(e.keyCode);
}
得出enter的按键编码是13;
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<input type="text">+
<input type="text">+
<input type="text">/3+
<input type="text">
<button>=</button>
<input type="text">
<script type="text/javascript">
//通过标签名获取按钮,button就是一个按钮,在页面上显示的样子就是一个按钮,不是键盘上的按键。
var res = document.getElementsByClassName("result")[0];
//按键盘上的按钮弹起时,触发事件,{}中写的就是触发的内容。
document.onkeyup = function(e) {
//e就是event,按下按钮的时候会触发事件,这个事件有很多的属性,比如type为keyup,key为enter等等等等;判断这个按下的键的编码为13,也就是enter的编码的时候,执行计算。
if (e && e.keyCode == 13) {
//document.getElementsByClassName("a")是通过类名获取元素;[0]是因为通过类获取到的是一个集合或者说是数组,尽管有这个类名的只有一个元素,但是一样要加上[0],这写法就是数组的写法;.value是获取这个文本框的值,-0是因为.value获取到的是字符串,-0是转换成数字。
var a = document.getElementsByClassName("a")[0].value - 0;
var b = document.getElementsByClassName("b")[0].value - 0;
var c = document.getElementsByClassName("c")[0].value - 0;
var d = document.getElementsByClassName("d")[0].value - 0;
var result = (a + b + c) / 3 + d;
res.value = result;
} }
</script>
</body>
</html>
直接用鼠标点击在页面上的按钮的写法就是:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<input type="text">+
<input type="text">+
<input type="text">/3+
<input type="text">
<button>=</button>
<input type="text">
<script type="text/javascript">
//通过标签名获取按钮,button就是一个按钮,在页面上显示的样子就是一个按钮,不是键盘上的按键。
var btn = document.getElementsByTagName("button")[0];
var res = document.getElementsByClassName("result")[0];
//点击按钮,触发事件,{}中写的就是触发的内容。
btn.onclick = function() {
//document.getElementsByClassName("a")是通过类名获取元素;[0]是因为通过类获取到的是一个集合或者说是数组,尽管有这个类名的只有一个元素,但是一样要加上[0],这写法就是数组的写法;.value是获取这个文本框的值,-0是因为.value获取到的是字符串,-0是转换成数字。
var a = document.getElementsByClassName("a")[0].value - 0;
var b = document.getElementsByClassName("b")[0].value - 0;
var c = document.getElementsByClassName("c")[0].value - 0;
var d = document.getElementsByClassName("d")[0].value - 0;
var result = (a + b + c) / 3 + d;
res.value = result;
}
</script>
</body>
</html>
document.onkeyup = function (e) {
console.log(e.keyCode);
}
得出enter的按键编码是13;
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<input type="text">+
<input type="text">+
<input type="text">/3+
<input type="text">
<button>=</button>
<input type="text">
<script type="text/javascript">
//通过标签名获取按钮,button就是一个按钮,在页面上显示的样子就是一个按钮,不是键盘上的按键。
var res = document.getElementsByClassName("result")[0];
//按键盘上的按钮弹起时,触发事件,{}中写的就是触发的内容。
document.onkeyup = function(e) {
//e就是event,按下按钮的时候会触发事件,这个事件有很多的属性,比如type为keyup,key为enter等等等等;判断这个按下的键的编码为13,也就是enter的编码的时候,执行计算。
if (e && e.keyCode == 13) {
//document.getElementsByClassName("a")是通过类名获取元素;[0]是因为通过类获取到的是一个集合或者说是数组,尽管有这个类名的只有一个元素,但是一样要加上[0],这写法就是数组的写法;.value是获取这个文本框的值,-0是因为.value获取到的是字符串,-0是转换成数字。
var a = document.getElementsByClassName("a")[0].value - 0;
var b = document.getElementsByClassName("b")[0].value - 0;
var c = document.getElementsByClassName("c")[0].value - 0;
var d = document.getElementsByClassName("d")[0].value - 0;
var result = (a + b + c) / 3 + d;
res.value = result;
} }
</script>
</body>
</html>
直接用鼠标点击在页面上的按钮的写法就是:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<input type="text">+
<input type="text">+
<input type="text">/3+
<input type="text">
<button>=</button>
<input type="text">
<script type="text/javascript">
//通过标签名获取按钮,button就是一个按钮,在页面上显示的样子就是一个按钮,不是键盘上的按键。
var btn = document.getElementsByTagName("button")[0];
var res = document.getElementsByClassName("result")[0];
//点击按钮,触发事件,{}中写的就是触发的内容。
btn.onclick = function() {
//document.getElementsByClassName("a")是通过类名获取元素;[0]是因为通过类获取到的是一个集合或者说是数组,尽管有这个类名的只有一个元素,但是一样要加上[0],这写法就是数组的写法;.value是获取这个文本框的值,-0是因为.value获取到的是字符串,-0是转换成数字。
var a = document.getElementsByClassName("a")[0].value - 0;
var b = document.getElementsByClassName("b")[0].value - 0;
var c = document.getElementsByClassName("c")[0].value - 0;
var d = document.getElementsByClassName("d")[0].value - 0;
var result = (a + b + c) / 3 + d;
res.value = result;
}
</script>
</body>
</html>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询