猿问

Js报错: Uncaught TypeError: Cannot read property 'value' of null?

求问
var em1 = document.getElementById("Email").value;
这行代码浏览器报出Uncaught TypeError: Cannot read property 'value' of null的错误,
应该是value取不到值,但是var pw1 = document.getElementById("password1").value;这行同样写法就
没有问题。
代码如下
------------------------------------------------------------------------------------------------------

<!doctype html>
<html>
<head>
  <meta charset="UTF-8">
  <title></title>
  <meta name="description" content="" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta name="keywords" content="基盤ITソリューション,アプリケーション開発,PHPアプリ開発,ECサイト構築,Felica アプリ開発,RFIDアプリ開発,企業管理システム" />
  <link rel="stylesheet" href="css/style.css">
  <link rel="stylesheet" href="css/bootstrap.min.css">
  <link rel="stylesheet" href="css/fort.css">
  <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
  <script src="js/fort.js"></script>
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">
  <script src="js/bootstrap.min.js"></script>
  <script src="js/jquery.validate.min.js"></script>
  <script src="js/additional-methods.min.js"></script>
  <script src="js/smoke.min.js"></script>
  <link rel="shortcut icon" type="image/x-icon" href="">
  <meta name="viewport" content="width=1024">
  <meta name="format-detection" content="telephone=no">
    <script>
            
           function validate_pwd() {
              
              var pw1 = document.getElementById("password1").value;
              var pw2 = document.getElementById("password2").value;

              if(pw1 == pw2) {
                  document.getElementById("tishi").innerHTML="<font color='green'>两次密码相同</font>";
                  document.getElementById("btnConfirm").disabled = false;
              }
              else {
                  document.getElementById("tishi").innerHTML="<font color='red'>两次密码不相同</font>";
                document.getElementById("btnConfirm").disabled = true;
              }
          }
           function validate_email() {
              
              var em1 = document.getElementById("Email").value;
              var em2 = document.getElementById("Email2").value;
            

              if(em1 == em2) {
                  document.getElementById("a1").innerHTML="<font color='green'>两次地址相同</font>";
                  document.getElementById("btnConfirm").disabled = false;
              }
              else {
                  document.getElementById("a1").innerHTML="<font color='red'>两次地址不相同</font>";
                  document.getElementById("btnConfirm").disabled = true;
              }
          }
   </script>
</head>
  <body>
   <form class="form"  action="confilm.php" method="post" >
          <table class="TableForm" id="form01">
            <tr>
              <td class="TableLeft">
                <span class="blueten">●</span> メールアドレス <span class="label label-danger">必須</span>
              </td>
              <td class="TableRightLast">
                <div class="form-group">
                  <input type="email" class="form-control" placeholder="例)info@sea-itsoft.com" name="Email" id="Email" required="required">
                </div>
              </td>
            <td class="TableLeft">
                <span class="blueten">●</span> 确认邮箱地址 <span class="label label-danger">必须</span>
              </td>
              <td class="TableRightLast">
                <div class="form-group">
                  <input type="email" class="form-control input-sm"  name="Email2" id="Email2" onkeyup="validate_email()"/><span id="a1"
                  ></span>
                </div>
              </td>
              <td class="TableLeft">
                <span class="blueten">●</span> パスワード <span class="label label-danger">必須</span>
              </td>
              <td class="TableRightLast">
                <div class="form-group form-inline">
                  <input type="password" class="form-control input-sm" name="password1" id="password1" required="required"> 8桁以上数値、半角文字を含みます
                </div>
              </td>
              <td class="TableLeft">
                <span class="blueten">●</span> 確認パスワード <span class="label label-danger">必須</span>
              </td>
              <td class="TableRightLast">
                <div class="form-group form-inline">
                  <input type="password" class="form-control input-sm" name="password2" id="password2" onkeyup="validate_pwd()"/><span id="tishi"></span>
                </div>
              </td>
            </tr>
          </table>

         

      <table class="TableForm">
        <div class="TableCheckBox">
          <label>
        <input type="checkbox" required="required"> 個人情報保護方針に同意する  <span class="label label-danger">必須</span>
      </label>
        </div>
        <div class="TableButton">
         <button type="submit" class="btn btn-default" id="btnConfirm" >確認画面へ</button> <button type="reset" class="btn btn-default">リセット</button>
        </div>
        <script type="text/javascript" >
        $('#btnConfirm').click(function() {
          if ($('#form01').smkValidate()) {
            $.smkAlert({
              text: $('#form01 input').val(),
              type: 'success'

            });
          }
        });
        $('#btnClear').click(function() {
        $('#formClear').smkClear();
         });
        </script>

        </table>
        </form>
        </div>
        <footer>
        <div class="inner">
          © 2012- SEA Co., Ltd
        </div>
      </footer>
    </section>
  </body>
</html>


慕运维8529929
浏览 10317回答 1
1回答

ExiaGo

估计是 email 那里没有 value 值?分别打印出来的都是什么?
随时随地看视频慕课网APP
我要回答