Javascript-具有一个表单的多个事件侦听器

Javascript-具有一个表单的多个事件侦听器,javascript,jquery,html,forms,event-handling,Javascript,Jquery,Html,Forms,Event Handling,目前,我正在从数据库动态生成带有事件侦听器的按钮,并在单击按钮时使用这些按钮中的信息填充表单。我遇到的问题是,如果我在单击submit之前单击多个按钮,那么它将处理以前单击的所有按钮的操作。现在我只希望它提交我点击的最后一个按钮的数据。有没有办法只获取我单击的最后一个按钮中的信息?我对Javascript非常陌生,如果这是一个愚蠢的问题,我很抱歉 下面是我尝试做的一个示例: //编辑项函数 变量按钮=[5,10,20]; 总风险价值; var divButtons=document.getEl

目前,我正在从数据库动态生成带有事件侦听器的按钮,并在单击按钮时使用这些按钮中的信息填充表单。我遇到的问题是,如果我在单击submit之前单击多个按钮,那么它将处理以前单击的所有按钮的操作。现在我只希望它提交我点击的最后一个按钮的数据。有没有办法只获取我单击的最后一个按钮中的信息?我对Javascript非常陌生,如果这是一个愚蠢的问题,我很抱歉

下面是我尝试做的一个示例:

//编辑项函数
变量按钮=[5,10,20];
总风险价值;
var divButtons=document.getElementById(“按钮”);
对于(变量i=0;i
在您发布的示例中,您没有在任何地方提交数据,您只是将金额添加到一起,而不是在单击
保存
按钮时将其显示在页面上

如果不希望金额相加,而只显示上次单击的数字,则从代码中删除添加的内容

而不是

  if(total == null){
      total = clickedID;
  }
  else{
      total = total + clickedID;
  }
只用

  total = clickedID;
见:


如果要使用最后选择的值,可以将其放入全局变量中

//编辑项函数
变量按钮=[5,10,20];
var-total=null;
var divButtons=document.getElementById(“按钮”);
对于(变量i=0;i

多少钱


总计:
所说的“上次按钮”是指上次单击“保存”按钮的时间?那么,如果你先按5,然后按10,然后保存,它会发送15?然后5和20发送25?为什么在使用jQuery时使用
addEventListener
?将一个事件处理程序绑定到另一个事件处理程序函数中几乎总是错误的。每次你调用
showNumber
,你都在向
purchasesButton
添加另一个
点击
处理程序。对不起,我所说的“最后一个按钮”是我最后选择的号码。当我先按5,然后按10,然后按提交按钮时,它同时提交5和10。我希望它只提交最后选择的数字(本例中的10)@Samurai。谢谢你的评论!我对javascript和jQuery(以及编程)都很陌生,所以我只使用在w3schools或论坛上最先找到的方法。我没有意识到将事件处理程序放在处理程序中是个坏主意。这可能是我在实际应用程序中遇到的问题的一部分。您认为使用事件处理程序生成按钮并仅使用一个表单收集数据的更好方法是什么@巴尔马
  total = clickedID;