js获取input的value值为undefined
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>demo</title>
</head>
<body>
<input type="text" id="name" value="">
<input type="password" id="password" value="">
<input type="text" id="number" value="">
<br>
<button onclick="submit()">提交</button>
</body>
<script>
var name = document.getElementById('name');
var password = document.getElementById('password');
var number = document.getElementById('number');
function submit() {
console.log(name.value);
console.log(password.value);
console.log(number.value);
}
</script>
</html>
结果
name.value获取的值为undefined,但另外两个正常,name貌似也不是关键词。通过查阅发现Safari、Chrome、Firefox、 Opera这些浏览器给函数定义了一个非标准的name属性,是window自带的全局属性。因而这里声明的name变量无法正常使用。
不做任何声明,谷歌浏览器直接输出name会得到
[object HTMLInputElement]
在 JavaScript 中,一些标识符是保留关键字,不能用作变量名或函数名。
js 保留关键字