簡體   English   中英

TypeError:document.getElementById(…); 為空JavaScript

[英]TypeError: document.getElementById(…); is null javascript

我所有的var語句都使用標識符:var identifier = document.getElementById(“ somename”); 那么,為什么我會得到一個空錯誤。 我在javascript運行器中運行了此代碼,並得到了null錯誤消息。 在我的瀏覽器Firefox和Chrome中,我沒有任何錯誤或警告。 當我在瀏覽器中運行代碼並單擊按鈕以激活事件處理程序時,該表單將清除。 無論如何,它都不去服務器。 這只是練習。 我正在學習JavaScript和動態HTML課程。 如果有人願意看我的代碼並告訴我我做錯了什么,我將不勝感激。 肯定有些事情我做錯了。 這是腳本:

 window.onload = function(){
 var fname = document.getElementById("fname").value;
 var lname = document.getElementById("lname").value;
 var loginName = document.getElementById("uname").value;

 var myEmail = document.getElementById("email").value;

 var pass1 = document.getElementById("password1").value;
 var pass2 = document.getElementById("password2").value;
 if(document.getElementById("uname").value == ""){
    return false;
    alert("Your user name can't be blank.");
  };

 if(pass1.value !== pass2.value){
    get.documentElementById("signin").value.disabled = true;
    return false;
    alert("Please retype your password.");
 }else if(pass1.value === pass2.value){
 alert("Welcome!");
 };
 };
 HTML
 <body>
 <form action = "" name = "form" method = "Post">
 <label for="fname">First Name:</label><input type = "text" id =  "fname"required></input>

 <label for="lname">Last Name:</label><input type = "text" id = "lname"   required></input>

 <label for="uname">User Name:</label><input type = "text" id = "uname" required></input><br/>

 <label for="password1">Password:</label><input type = "password" id = "password1"required ></input><br/>

 <label for="password2">Verify Password:</label><input type = "password" id = "password2"required ></input><br/>

 <label for="email">Email Address:</label><input type = "email" id = "email" required></input><br/>

 <button type = "submit"id = "signin" onclick = "function()">Submit</button>
</form>
 <script src="signUp.js"></script>
 </body>

我為您清理了代碼。 在很多地方都有錯誤(例如,鍵入pass1.value而不是僅pass1 。這應該可以,但是當然需要花一些時間研究它,以了解我所做的更改並了解原因。 這是一個小玩意兒,它顯示了工作原理請注意您永遠不要期望這種類型的代碼在您引用過的“運行程序”中運行;此處的代碼明確引用了DOM中特定元素,而運行程序則沒有。(使用JSFiddle這樣的網站對於這種事情來說更好,因為您也可以將HTML放入其中。

var submitForm = function () {
    var fname = document.getElementById("fname").value;
    var lname = document.getElementById("lname").value;
    var loginName = document.getElementById("uname").value;
    var myEmail = document.getElementById("email").value;
    var pass1 = document.getElementById("password1").value;
    var pass2 = document.getElementById("password2").value;
    console.log(pass1, pass2);
    if (document.getElementById("uname").value == "") {
        alert("Your user name can't be blank.");
        return false;
    }

    if (pass1 !== pass2) {
        document.getElementById("signin").value.disabled = true;
        alert("Please retype your password.");
        return false;
    } else if (pass1 === pass2) {
        alert("Welcome!");
    }
};
 <body>
 <form action="" name="form" method="POST">
 <label for="fname">First Name:</label><input type ="text" id = "fname" required></input>

 <label for="lname">Last Name:</label><input type = "text" id = "lname" required></input>

 <label for="uname">User Name:</label><input type ="text" id ="uname" required></input><br/>

 <label for="password1">Password:</label><input type="password" id="password1" required></input><br/>

 <label for="password2">Verify Password:</label><input type="password" id="password2" required ></input><br/>

 <label for="email">Email Address:</label><input type="email" id="email" required></input><br/>

 <button type="submit" id="signin" onclick="submitForm()">Submit</button>
</form>
</body>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM