在addEventListener提交仍然提交表单时返回false?

Dav*_*vid 37 javascript javascript-events

var form = document.forms[0]; 
form.addEventListener("submit", function(){
  var email = form.elements['answer_13829'].value;
  if( email == 'geobraks@yahoo.ca') {
     alert('redirecting the user...');
     window.location = 'xxxx';
     return false;
  }
});
Run Code Online (Sandbox Code Playgroud)

我不明白 - 它仍然提交表格.有人可以修补我的代码并使其工作吗?

Tim*_*own 57

您需要使用preventDefault()事件对象的方法.

请注意,IE <= 8 中既不支持addEventListener()也不preventDefault()支持.

var form = document.forms[0]; 
form.addEventListener("submit", function(evt){
  var email = form.elements['answer_13829'].value;
  if( email == 'geobraks@yahoo.ca') {
     evt.preventDefault();
     alert('redirecting the user...');
     window.location = 'xxxx';
  }
});
Run Code Online (Sandbox Code Playgroud)