javascript - 使用外部按钮处理表单的提交事件

标签 javascript html forms

我对原生 html 表单有一个小问题。 我想提交带有外部按钮的表单,正如您在附加的 fiddle 链接中看到的那样。但是,同时我需要防止生成 xhr.request。所以,就我而言,我需要处理表单上发生的submit.event。 如果通过内部按钮提交表单,我会看到它,但如果通过外部按钮直接调用 .submit() 事件,则无法处理。有人有食谱吗? 非常感谢您的反馈:)

var formElem = document.querySelector('#form');
var innerButtonElem = document.querySelector('#innerButton');
var outerButtonElem = document.querySelector('#outerButton');

formElem.addEventListener('submit', (event) => {
	console.log('formElem', event);
})

innerButton.addEventListener('submit', (event) => {
	console.log('innerButton submit', event);
})

innerButton.addEventListener('click', (event) => {
	console.log('innerButton click', event);
})

outerButtonElem.addEventListener('click', (event) => {
	console.log('outerButton', event);
  formElem.submit();
})
#innerButton {
  display: block;
  margin: 5px 0;
}
<p>Test form</p>
<form id="form">
  <input type="text" placeholder="first input">
  <input type="text" placeholder="second input">
  <button id="innerButton" type="submit">Inner button</button>
</form>
<button id="outerButton">Outer button</button>

最佳答案

使用form <button> 上的属性将其链接到您的<form>通过id

<button id="outerButton" form="form" type="submit">Outer button</button>

参见https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#attr-form

关于javascript - 使用外部按钮处理表单的提交事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51470155/

相关文章:

javascript - 如何让异步/等待等待我的嵌套数组填充

javascript - 如何将jqPlot值写入变量?

javascript - 如何使用 jQueryMobile 修复 header

asp.net - Html.BeginForm 在提交时丢失了routeValues

javascript - react 数组映射中的设置值不起作用

javascript - 如何仅使用 Jquery 对 div 列表进行排序?

css - Bootstrap 覆盖了我网站上表单上的提交按钮

forms - 如何在Shopify中制作确认密码字段?

asp.net - 垂直对齐问题

javascript - 使用速度在使用 processing.js 的 javascript 中移动矩形