Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript onsubmit方法与submit事件侦听器_Javascript_Dom Events - Fatal编程技术网

Javascript onsubmit方法与submit事件侦听器

Javascript onsubmit方法与submit事件侦听器,javascript,dom-events,Javascript,Dom Events,我一直在做一个邮件程序的课程,我遇到的行为,我不明白有关防止通过返回错误提交表单: 案例1:表单提交未被正确阻止,DOM被重新加载,出现200错误 document.querySelector('#compose-form').addEventListener('submit', () => { send_email(); load_mailbox('inbox'); return false; }) 案例2:表单提交被正确阻止,DOM不会重新加载并返回预期的201代码 docu

我一直在做一个邮件程序的课程,我遇到的行为,我不明白有关防止通过返回错误提交表单:

案例1:表单提交未被正确阻止,DOM被重新加载,出现200错误

document.querySelector('#compose-form').addEventListener('submit', () => {

send_email();

load_mailbox('inbox');

return false;

})
案例2:表单提交被正确阻止,DOM不会重新加载并返回预期的201代码

document.querySelector('#compose-form').onsubmit = () => {

send_email();

load_mailbox('inbox');

return false;

}

区别在于
onsubmit
替换了当前(已分配的)函数<另一方面,code>addEventListener向已经存在的属性添加额外的命令

因此,在使用
addEventListener
时,需要使用
preventDefault
函数来防止默认行为

试试这个:

//将事件添加为参数
document.querySelector(“#撰写表单”).addEventListener('submit',(事件)=>{
event.preventDefault();//添加此行
//然后做你的事
发送电子邮件();
加载_邮箱(“收件箱”);
返回false;
})

在使用AddEventListener时使用
事件.预防默认值
,因此在这种情况下,已分配的功能将是表单提交?@AAM