【问题标题】:jQuery Function Does Not Fire if Gravity Form Entry Fails如果重力表单输入失败,jQuery 函数不会触发
【发布时间】:2021-02-18 18:54:02
【问题描述】:

我正在使用 jQuery 在我的提交按钮被点击后添加一个“禁用”属性。

        $('#submit-button').click(function () {
            setTimeout(function () {
                $('#submit-button').attr('disabled', 'disabled')
            }, 50);
        })

我正在使用重力形式,并在单击时使用 AJAX 生成微调器图像,这就是我使用 setTimeout 函数的原因。

这在第一次单击提交按钮时有效。如果条目通过验证,则没有问题,加载禁用属性,然后进入确认页面。

问题是当验证失败时,页面刷新并显示错误(例如未正确填写)然后单击提交按钮不会触发jQuery单击功能以添加禁用属性

【问题讨论】:

  • 仅使用您提供的 sn-p 很难解决此问题。
  • 可能是一个事件委托问题,或者可能是由于#submit-button 如其名称所暗示的那样提交表单时缺少调用preventDefault()。如果不查看所有相关代码,我们将无法帮助您。不过,超时本身似乎有点多余。
  • 使用 function(ev) { 而不是作为你的第一个函数体行:ev.preventDefault(); - 并删除 setTimeout - 这是不必要的。

标签: javascript jquery wordpress gravityforms


【解决方案1】:

重力形式 gform_page_loaded 作品 - https://docs.gravityforms.com/gform_page_loaded/

我把代码放在一个函数里用了

jQuery(document).on('gform_page_loaded', function(event, form_id, current_page){
        myFunction()
    });

所以现在函数在 AJAX 调用之后运行

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-17
    • 2012-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-07
    相关资源
    最近更新 更多