我正在进行表单验证,问题是值未分配给name变量,但是如果我将名称更改为其他名称,它将起作用....并且如果我使用“ let”而不是“ var”,它也将起作用'。
我正在使用Windows 10(64位)...。它看起来像是运行时问题或范围问题...但是任何人都可以告诉我实际的问题..
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8" />
<title>validation</title>
</head>
<body>
<form class="" action="" method="post" onsubmit='validate();'>
Name: <input type="text" name="name" value="" id="name" />
email: <input type="email" name="email" value="" id="email" />
<button type="submit" name="submit">ok</button>
</form>
<script type="text/javascript">
var name = document.getElementById("name");
var email = document.getElementById("email");
function validate(){
if (name.value=='' || email.value==''){
alert("please fill all fields");
}
else {
alert("name "+"="+name.value + " and "+ "email"+ "="+ email.value);
}
}
</script>
</body>
</html>
这是错误:name =undefined and email=fred@gmail.com