我无法在使用AJAX的表单上触发事件监听器。我无法控制这些表单的内联结构。
最终,我想禁用表单提交,但是对于开发而言,向控制台发送一条简单的消息会很棒。在这个问题中,很好地说明了禁用表单提交:Submit Event Listener for a form,并且在我的非AJAX表单上也可以正常工作。
由于我无法控制表单的内联结构,因此我遍历所有表单并为每个表单分配一个事件侦听器。
var vForms = document.querySelectorAll('form');
for(i=0; i<vForms.length; i++){
vForms[i].addEventListener('submit', event => {
console.log('FORM SUBMITTED : ' + event);
});
}
我也尝试过.onSubmit
vForms[i].onsubmit = function(e){
console.log('FORM SUBMITTED : ' + e);
};
使用这两种方法,在循环过程中均不会显示任何错误,表明.addEventListener或.onSubmit不起作用。
我试图在很长的延迟后放置循环,只是为了看看它们是否在代码首次运行后就被加载了,但是延迟长于加载时间并没有帮助。
我还尝试禁用AJAX加载,以确保这确实是问题所在,并且这样做后仍然有效,而在重新启用它后却没有。
在此先感谢您提供的帮助。