js怎么获取文本框的值然后运算

JavaScript011

js怎么获取文本框的值然后运算,第1张

- -!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>

用js实现给某个文本框赋值,可以先在js中获得文本框的元素,如

document.getElementsByName("result")[0]

然后把它的value属性赋值,如

document.getElementsByName("result")[0].value = 10

这是测试页面

其中

<input type="text" name="result" disabled="disabled">

这句中的disabled="disabled"就起到令文本框不可编辑变灰的效果。

这3行js代码的意思是,载入界面后,找到名称为result的元素,并给它赋值为10

window.onload = function(){

document.getElementsByName("result")[0].value = 10

}