[英]Two submit buttons (with different action) for the same form
我有一个需要两个提交按钮的 html 表单。 单击时,每个按钮都需要捕获事件(表单提交),然后处理表单数据并在 GUI 中向前或向后移动,具体取决于按下了两个按钮之一。
我还没有找到一种方法来在 Javascript 中捕获在提交事件处理程序中按下了哪个按钮。 使用 click 事件处理程序时,此操作不会附加任何表单。 有什么建议吗?
而不是click
事件,我更喜欢使用表单的submit
事件,它包括一个submitter
属性,指示点击了哪个按钮。 (奖励:表单在submit
之前得到验证)。
事件对象具有一个称为target
的属性,该属性是对触发事件的DOM节点的引用。 它应该包含被单击的按钮。
为2个按钮使用2个不同的名称,并捕获click事件。 该名称可让您识别并按指定的按钮进行操作。
如https://jsfiddle.net/0fuq5dhf/1/所示:
var form = document.getElementById("frmData");
form.addEventListener("click", function(event) {
var formData = $( '#' + event.currentTarget.id ).serialize();
if(event.target.id == "submit1") {
//Process for first submit button
console.log(formData);
} else {
//process for the 2nd submit button
console.log(formData);
}
});
您可以获取目标以确定单击哪个按钮,并根据单击的按钮序列化要处理的表单数据。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.