Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.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中跟踪提交事件的发起人?_Javascript_Events_Submit - Fatal编程技术网

如何在javascript中跟踪提交事件的发起人?

如何在javascript中跟踪提交事件的发起人?,javascript,events,submit,Javascript,Events,Submit,表单使用多个具有不同格式的提交按钮。单击按钮时,将引发提交事件。是否可以从事件处理程序中找出按下了哪个按钮 1. 2. var form=document.querySelector('form'); 表单.addEventListener('submit',函数(事件){ event.preventDefault(); 变量形式='?'; 警惕(形成); }); 单击事件通常有两个目标-.target是单击的元素,而.currentTarget是捕获事件的元素(在本例中,是表单) 出于您的

表单使用多个具有不同格式的提交按钮。单击按钮时,将引发提交事件。是否可以从事件处理程序中找出按下了哪个按钮


1.
2.
var form=document.querySelector('form');
表单.addEventListener('submit',函数(事件){
event.preventDefault();
变量形式='?';
警惕(形成);
});

单击事件通常有两个目标-
.target
是单击的元素,而
.currentTarget
是捕获事件的元素(在本例中,是表单)

出于您的目的,我建议使用
event.target
。一种常见的模式是为按钮指定一个
name
属性,这样您就可以找到do
event.target.name
来确定按下了哪个按钮


请记住,如果您的按钮包含任何复杂的内容(如图标),这将有点错误,因为图标元素将成为目标。

您可以为多个按钮添加不同的单击处理程序
,但是如果您真的需要触发提交事件,我建议使用数据标记

将其添加到输入标记中
data formaction=“exampleValue”


您可以使用:
event.target.dataset.formaction
在事件处理程序中访问
exampleValue
值,它有Jquery答案,但是您应该计算它:否则目标就是表单。(即将核实)