好吧,我有一個表單,我檢查用戶是否在用戶名字段中輸入用戶名。最重要的是,我也想知道什麼按鈕被點擊,真的很想看看什麼時候註銷按鈕被點擊。在我看來,當提交表單時,addEventListener沒有註冊'click'值。當我使用Firefox調試器運行它時,buttons
和buttonLength
都具有正確的值。所以我的問題是,我如何檢查addEventListener值或者它是否通過?尋找一些有關我做錯了什麼的見解。驗證表單。 addEventListener not listening
<!DOCTYPE html>
<html>
<head>
<title>Not empty</title>
</head>
<body>
<script>
function ValidateForm(frm){
var buttons = document.getElementsByName('adam');
var buttonsLength = buttons.length;
for (var i = 0; i < buttonsLength; i++){
buttons[i].addEventListener('click', clickResponse, false);
};
function clickResponse(){
if(this.id == "logout"){
alert(this.id);
}else {
alert("not logout:" + this.id);
};
};
if (!frm.UserName.value) {
alert("You must enter your username.");
frm.UserName.focus();
return false;
}
return true;
}
</script>
<form method="post" action="test.html" onsubmit="return ValidateForm(this)">
<input type="input" name="UserName" value="">
<input type="password" name="Password" value="">
<button name="adam" id="login">login</button>
<button name="adam" id="sendMe">send me my password</button>
<button name="adam" id="logout">logout</button>
<form>
</body>
您在JS中擁有用戶名中的大寫,但不在html中。您將遇到的另一個問題是每次單擊按鈕時都要分配一個新的函數實例。 –
抱歉,這是我的錯誤複製和粘貼。 – poohbear