在提交事件中获取提交按钮值

Get submit button value onsubmit event

我有一个奇怪的边缘案例,让我试着描述一下:

我有一个表单,其中包含多个具有不同值的提交按钮。提交值在我的后端很重要。我想拦截一个表单提交(使用onsubmit)做一个异步任务并继续事件。

遗憾的是调用Form.prototype.submit()不起作用,因为点击了哪个按钮的信息丢失了。当然我可以模拟该数据,但只是添加一个隐藏的输入,但我不知道如何找出在 onsubmit 事件中单击了哪个按钮。

如果你需要一个例子,这就是我试图解决它的地方: https://github.com/codingjoe/django-s3file/blob/master/s3file/static/s3file/js/s3file.js

当您动态提交表单时,您可以采用不同于调用 form.submit 的方式。您可以只触发您需要的任何提交按钮的 click 事件。然后,在提交按钮的 click 事件处理程序中,您可以使用适当的数据为隐藏的表单字段分配一个值。

此外,请注意,如果您只为提交按钮提供一个具有唯一值的 name 属性,它们将作为提交的表单数据的一部分提供 [​​=14=]。