重力表格提交后的jQuery回调

时间:2015-04-28 13:49:38

标签: jquery ajax wordpress gravity-forms-plugin

我尝试在Gravity表单中提交失败的表单后运行一些jQuery代码,即验证错误的时候。

我尝试使用Ajax:完全回调,但它根本没用。

我试图运行的代码基本上将监听器添加到选择下拉列表,没有它的计算不起作用,然后使表单无法使用,无法提交而无需刷新页面。

我在下面使用的代码:

jQuery(document).ajaxComplete(function() {
    addServiceListeners();
}

function service_listeners() {

        var is_responsive = false;

        if(window_size < 1024 && $('body').hasClass('subNav-listener')) {
            is_responsive = true;
            $('.services-link').off('click');
            $('.services-link').on('click',function(e) {
                e.preventDefault();
                window.location = 'http://telviva.co.za/hosted-pbx';
            })
        } else {
            $('.services-link').off('click');
            $('#sub-nav-container').removeClass('hidden');
            $('.services-link').on('click',function(e) {
                if(window_size <= 600) {
                    if(e.target.hash == "#pbx-main") {
                        window.location = 'http://telviva.co.za/hosted-pbx';
                    } else {
                        return;
                    }
                } else {
                    e.preventDefault();
                $('#sub-nav-container').toggleClass('open');
                }
            }); 
        }

    }

所有帮助表示赞赏!

2 个答案:

答案 0 :(得分:17)

您可以调用必须在重力表单提交后运行的jQuery

<script type="text/javascript">
jQuery(document).bind('gform_post_render', function(){
   addServiceListeners();
});

以下是关于&#39; gform_post_render&#39;的详细信息。由Gravity表格提供。 https://www.gravityhelp.com/documentation/article/gform_post_render/

答案 1 :(得分:2)

user2745337有正确的答案!要详细说明解决方案,您应该将代码并将其包装在函数中。在正常页面加载时调用该函数(或不,取决于您)。

当gform_post_render触发时,你可以调用你的函数(addServiceListeners())

===========

<script>
function addServiceListeners(){
   alert("Do AJAX DOM problem stuff here :)";
}
addServiceListeners(); // call it on page load? Go for it.

jQuery(document).bind('gform_post_render', function(){
   addServiceListeners();
});
</script>