var name = document.getElementById(“ name”);声明未将值分配给'name'变量,但如果更改了变量,则其工作原理

时间:2019-07-15 08:16:21

标签: javascript html

我正在进行表单验证,问题是值未分配给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

0 个答案:

没有答案