加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > PHP > 正文

php – Gravity Forms – 获取当前页码

发布时间:2020-05-25 08:45:07 所属栏目:PHP 来源:互联网
导读:我有一个多页表格. 我想在此表单的最后一页上执行一些自定义JavaScript.从理论上讲,我所要做的就是检索当前页码并编写条件. 简单吧?显然不是. 我原来的解决方法是这样的: if ($(gform_page).last().css(display) !== none) { // perform custom scripts now

我有一个多页表格.

我想在此表单的最后一页上执行一些自定义JavaScript.从理论上讲,我所要做的就是检索当前页码并编写条件.

简单吧?显然不是.

我原来的解决方法是这样的:

if ($('gform_page').last().css('display') !== 'none') {
    // perform custom scripts now that the last
    // Gravity Form page is being shown
}

但是$(”’).css(‘display’)在我在表单中尝试过的每个元素上返回undefined.每次用户点击“下一步”按钮时,都会触发自定义脚本.没有雪茄.

然后,在回顾the Gravity Forms documentation之后,我发现了两个有用的事件:gform_post_render和gform_page_loaded.

但是,文档未提供有关如何访问参数的说明.

jQuery(document).bind('gform_page_loaded',function(event,form_id,current_page){
    console.log(current_page);
    // returns nothing when loaded in the footer
    // returns [Object,object] when placed in an HTML field in the form
});

除了没有正确的代码之外,我还怀疑我没有正确的代码,因为我还在functions.php和header.php(as the documentation suggests)中尝试了以下内容:

<?php
function enqueue_custom_script($form,$is_ajax){
    if ($is_ajax) :
        echo '<script>console.log(current_page);</script>';
    endif;
}
add_action("gform_enqueue_scripts","enqueue_custom_script",10,2);
?>

题:

我需要什么代码来检索当前页码,更重要的是,我在哪里放置该代码?

我知道了.

显然,功能rgpost在访问当前页码时至关重要.经过我自己的一些混乱之后,我能够在functions.php和header.php中的wp_head()函数之前获得以下代码.

function run_script_on_last_page($form) {
    if (!is_admin()) {
        $current_page = rgpost('gform_source_page_number_' . $form['id']) ? rgpost('gform_source_page_number_' . $form['id']) : 1;
        if ($current_page == 10) {
            wp_enqueue_script('custom_script',get_template_directory_uri() . '/js/custom_script.js',array('jquery'),null,true);
        }
    }
}
add_action('gform_enqueue_scripts_63','run_script_on_last_page');

如果您要复制/粘贴上述代码,请务必:

>将10替换为您要检查的页面
>确保wp_enqueue_script中的参数正确
>用表格ID替换63

我认为有用的一些资源:

> g001_validation过滤器文档的this section
> gform_enqueue_scripts的文档.

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读