Javascript 通过jQuery提交表单时未触发动态绑定事件
我有以下代码来捕获页面中所有表单的数据。事件是动态绑定的Javascript 通过jQuery提交表单时未触发动态绑定事件,javascript,jquery,Javascript,Jquery,我有以下代码来捕获页面中所有表单的数据。事件是动态绑定的 formCapture: function () { console.log("formCapture"); var formsCollection = document.getElementsByTagName("form"); console.log(formsCollection); for (var i = 0; i < formsCollection.length; i++)
formCapture: function () {
console.log("formCapture");
var formsCollection = document.getElementsByTagName("form");
console.log(formsCollection);
for (var i = 0; i < formsCollection.length; i++) {
this.bindEvent(formsCollection[i]);
}
},
bindEvent: function (formElement) {
console.log("bindEvent");
var $this = this;
if (formElement.addEventListener) {
formElement.addEventListener('submit', function (e) {
$this.collectData(e, $this)
}, false);
}
},
collectData: function (e, that) {
// save form data here
}
其中,#测试表单
是表单名称,#表单提交
是提交按钮的id,绑定到它的收集数据
功能将不会启动
有没有一种方法可以在不中断表单流的情况下从表单中获取数据?您不应该只使用提交功能,而应该像以下那样触发提交:
jQuery(“#测试表单”).trigger('submit') 尝试设置
useCapturing
标志(传递给addEventListener
的布尔值)true
。已尝试。但没用,那部分不在我的控制之下。表格可以以任何可能的方式提交。正常提交或使用jQuery。
jQuery("#form-submit").on("click",function(e){
e.preventDefault();
jQuery("#test-form").submit();
console.log("form has been submitted");
window.location = "https://example.com";
})