我想學JS,所以我只寫JS代碼(只有在我的HTML代碼中使用腳本的身體標記)。表單驗證對錶單沒有影響,沒有HTML,只有JS
我想在上面提到的條件,寫一個登錄表單,並驗證它與驗證功能。 由於某些原因,當我提交表單時(我相信它甚至沒有調用驗證函數,因爲我在它的開始部分放了一個警報)沒有任何反應。
我的代碼:
function validateLogin() {
alert("CHECK");
var username = document.getElementById('username').value;
var pass = document.getElementById('pass').value;
if (username === "admin" && pass === "admin") {
return true;
} else {
alert("Wrong username or password!");
return false;
}
}
var loginDiv = document.createElement('div');
loginDiv.className = 'loginDiv';
var loginForm = document.createElement('form');
loginForm.className = 'loginForm';
loginForm.onsubmit = "return validateLogin()";
var username = document.createElement('input');
username.id = 'username';
var pass = document.createElement('input');
pass.id = 'pass';
pass.type = 'password';
var subm = document.createElement('input');
subm.type = 'submit';
loginForm.appendChild(document.createTextNode("Username:"));
loginForm.appendChild(username);
loginForm.appendChild(document.createElement('br'));
loginForm.appendChild(document.createTextNode("Password:"));
loginForm.appendChild(pass);
loginForm.appendChild(document.createElement('br'));
loginForm.appendChild(subm);
loginForm.action = "#";
loginForm.method = "post";
loginDiv.appendChild(loginForm);
document.body.appendChild(loginDiv);
編輯我發現改變 loginForm.onsubmit = 「返回validateLogin()」; 分成
loginForm.onsubmit = validateLogin;
爲我解決了它,出於某種原因。
感謝,但無論到您向我展示的好處,我甚至沒有看到函數開始時的警報。是由於語法錯誤還是甚至沒有進入函數? – Sharonica
我更新了代碼以回答您的問題還可以查看JSlint.com,在這裏你可以在線查看你的代碼,當你更熟悉它時,可以在你自己的編輯器中使用它,這樣你就不必複製/粘貼代碼。 – Robert
感謝您的幫助! – Sharonica