明らかなことを見逃していると確信していますが、次の addEventListener コードがどこでも (送信ボタンだけでなく) 発火する理由はわかりますか?
HTML:
<form action="#">
<input type="text"><br>
<input type="text"><br>
<button id="submit">submit</button><br>
</form>
JS:
function validate () {
var inputs = document.getElementsByTagName('input');
var inputs_length = inputs.length-1;
for (i=0; i<=inputs_length; i++) {
var inputs_value = document.getElementsByTagName('input')[i].value;
if (inputs_value == "") {
alert('there is a text box empty');
}
}
}
var el = document.getElementById('submit');
if (el.addEventListener) {
el = addEventListener('click', validate, false);
} else if (el.attachEvent) {
el.attachEvent('onclick', validate);
}
修正は変更です
el = addEventListener('click', validate, false);
に
el.addEventListener('click', validate, false);
私のタイプミス:(