首页 > 解决方案 > 如何防止提交按钮使用 Foundation 6.6 和 Abide 提交表单

问题描述

我正在尝试使用 Foundation 6.6 Abide 来验证表单,如果表单有效,我不希望它提交 - 而是触发另一个事件。无论我做什么 - 表格似乎总是提交。

<form data-abide novalidate id="contactForm" >
  ...
  <input type="submit" value="Next " id="goToBillingAddressTab"/>
</form>

我已经添加了这段代码 - 但它总是提交。

// script to prevent form from submitting 
$('#contactForm').on("submit", function(ev) {
    ev.preventDefault();
    console.log("Submit for form intercepted");
      return false;
  });

// script to trigger other events 
    $('#contactForm').on("formvalid.zf.abide", function(ev,frm) {
      console.log("Form is valid");
      ev.preventDefault(); // also added prevent submit here
      // perform other tasks here

      return false; // and another version of prevent submit
  });

我也试过这个 - 但它仍然提交:

  $('#contactForm').on("submit", function(ev) {
  ev.stopPropagation();
  ev.stopImmediatePropagation();
  ev.preventDefault();
  console.log("Submit for form intercepted");
  return false;
});


$('#contactForm').on("formvalid.zf.abide", function(ev) {
console.log("Form is valid");
    ev.stopPropagation();
    ev.stopImmediatePropagation();
    ev.preventDefault();
    // perform other task

    return false;
});

标签: formszurb-foundationabide

解决方案


解决方案!

我使用的是 Foundation 6.6.1 的“下载版本”。那就是错误在某处蔓延的地方。

如果我使用 CDNS: https ://cdnjs.cloudflare.com/ajax/libs/foundation/6.6.1/js/foundation.min.js

然后它可以正常工作


推荐阅读