【问题标题】:jQuery .on('click) after form submission not assigned any more表单提交后的jQuery .on('click)不再分配
【发布时间】:2019-11-13 15:29:01
【问题描述】:

我将Gravity Forms 与自定义jquery 代码结合使用。

jquery 代码在表单提交之前为其分配一个验证,如果缺少某些内容,则触发sweetalert。 第一次单击表单的提交按钮后,jquery 验证工作并触发警报。

由于存在提交错误,gravity forms 现在也显示验证错误。

当填写所有必填字段并再次单击同一个提交按钮时,jquery 验证不再分配给该按钮,也不会触发任何警报。这是为什么?按钮的id还是一样的。

JS代码,它工作正常,唯一的问题是,当表单处于验证错误状态时,它不再分配给重力表单的提交按钮。

jQuery( "#gform_submit_button_3" ).on('click', (function() {
    //alert ("test");
    var jugend = jQuery("#input_3_5").val();
    var trainer_vorname = jQuery("#input_3_6_3").val();

解决方案: 通过以下代码阻止表单提交:

jQuery(document).on( 'click', '#gform_submit_button_3', function (e) {
    e.preventDefault();
    //do what you want with jquery/JS with the form

【问题讨论】:

  • 请始终添加代码。
  • 我将支持上述内容。没有实际代码就很难调试。
  • 请以sn-p的形式添加代码。它应该看起来像一个带有以下内容的页面:{} 这样我们就可以运行您的代码。
  • 请访问help center,使用tour查看内容和How to Ask。做一些研究,搜索关于 SO 的相关主题;如果您遇到困难,请发布您的尝试minimal reproducible example,并注明输入和预期输出。
  • 我将添加代码,请稍等。在发布问题之前,我总是会进行数小时的研究......

标签: javascript jquery forms gravity-forms-plugin gravityforms


【解决方案1】:

好的,我自己找到了解决办法。

使用以下 JS(添加到 wp 主题 JS 部分)我可以阻止提交重力表单。

jQuery(document).on( 'click', '#gform_submit_button_3', function (e) {
    e.preventDefault(); 

之后,我使用 JS 进行一些表单验证。如果表单没问题,我将通过 ajax 发布请求将表单数据发送到服务器。 请记住,阻止表单提交时,正常的提交挂钩不起作用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-16
    • 2016-08-10
    • 2015-09-17
    • 2014-07-20
    • 2011-03-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多