通过jQuery

时间:2017-01-30 01:44:46

标签: javascript jquery

我有以下代码来捕获页面中所有表单的数据。事件是动态绑定的。

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函数不会触发。

有没有办法从表单中获取数据而不会中断其流程?

1 个答案:

答案 0 :(得分:0)

您不应该只使用提交功能,但会触发提交,例如: jQuery的(&#34;#测试形式&#34)触发。(&#39;提交&#39);