我有以下代码来捕获页面中所有表单的数据。事件是动态绑定的。
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
}
通过单击提交按钮(默认行为)提交表单时,它可以正常工作。
但是当我在表单上绑定这样的东西时:
jQuery("#form-submit").on("click",function(e){
e.preventDefault();
jQuery("#test-form").submit();
console.log("form has been submitted");
window.location = "https://example.com";
})
其中#test-form
是表单名称,而#form-submit
是提交按钮的ID,绑定到它的collectData
函数不会触发。
有没有办法从表单中获取数据而不会中断其流程?
答案 0 :(得分:0)
您不应该只使用提交功能,但会触发提交,例如: jQuery的(&#34;#测试形式&#34)触发。(&#39;提交&#39);