Javascript 提交时的stopPropagation()不起作用
我在阻止表单内提交的传播时遇到问题。看起来,无论我在网页内的何处单击,都会触发一个事件-如何将其修复为仅在单击提交按钮时触发Javascript 提交时的stopPropagation()不起作用,javascript,event-handling,event-listener,Javascript,Event Handling,Event Listener,我在阻止表单内提交的传播时遇到问题。看起来,无论我在网页内的何处单击,都会触发一个事件-如何将其修复为仅在单击提交按钮时触发 document.addEventListener('DOMContentLoaded', bindButtons); function bindButtons() { var buttons = document.getElementsByTagName('submit'); Array.prototype.forEach.call(buttons,
document.addEventListener('DOMContentLoaded', bindButtons);
function bindButtons() {
var buttons = document.getElementsByTagName('submit');
Array.prototype.forEach.call(buttons, addEventListener('click', function(event) {
var req = new XMLHttpRequest();
req.open("GET", url, true);
req.addEventListener('load', function(event) {
// do stuff
})
event.preventDefault();
event.stopPropagation();
req.send(null);
}))
}
将每个
submit
添加到同一个类中,然后使用getElementsByClass()
将它们存储在一个数组中,并对其进行迭代 提交不是有效的标记,您可以找到包含以下代码的提交按钮:
var submitButtons = document.getElementByTagNames('button').filter(button => button.getAttribute('type') === 'submit');
或者更详细地说:
var submitButtons = document.getElementByTagNames('button').filter(function(button){
return (button.getAttribute('type') === 'submit')
);
不是有效的标记名。@n00dl3 Oops。。谢谢如果人们想循环提交,他们是否会将它们添加到同一个类中?