Javascript 我如何知道表单提交的原因? 姓名: 提交 const form=document.querySelector('form'); 表.addEventListener('submit',函数(e){ e、 预防默认值(); console.log('a',e.currentTarget); console.log(如target); },对);

Javascript 我如何知道表单提交的原因? 姓名: 提交 const form=document.querySelector('form'); 表.addEventListener('submit',函数(e){ e、 预防默认值(); console.log('a',e.currentTarget); console.log(如target); },对);,javascript,dom-events,Javascript,Dom Events,e、 点击按钮时,目标是“表单”本身,而根据我的理解,它应该是按钮 我检查了其他事件,如“无效”和“单击”,它工作得非常好。 是因为某个提交者吗?您没有在收听按钮的点击事件,您正在收听表单的提交事件,这就是为什么您将表单视为事件的目标 submit事件不一定在单击submit按钮时发出,也可以通过按来发出↲ 在表单输入字段中(但不是在编程提交上:请参阅) 幸运的是,该属性中提供了导致表单提交的原因: document.querySelector('form')。addEventListener

e、 点击按钮时,目标是“表单”本身,而根据我的理解,它应该是按钮

我检查了其他事件,如“无效”和“单击”,它工作得非常好。
是因为某个提交者吗?

您没有在收听
按钮的
点击
事件,您正在收听
表单的
提交
事件,这就是为什么您将
表单
视为
事件的
目标

submit事件不一定在单击submit按钮时发出,也可以通过按来发出↲ 在表单输入字段中(但不是在编程提交上:请参阅)

幸运的是,该属性中提供了导致表单提交的原因:

document.querySelector('form')。addEventListener('submit',e=>{
控制台日志(例如提交者);
e、 预防默认值();
});

提交
只是另一个提交按钮
<form name="myForm" id="a" action="/action_page.php"  method="post">
  Name: <input type="email" name="fname">
  

</form>
<button type="submit" form="a"  >submits</button>
<script>
const form=document.querySelector('form');

form.addEventListener('submit',function(e){
    e.preventDefault();
    console.log('a',e.currentTarget);
  console.log(e.target);  
},true);
</script>