我有一个多页表单。
我想在这个表单的最后一页执行一些自定义JavaScript。理论上,我只需要检索当前页面编号并编写条件即可。
简单吧?显然不是这样。
我的原始解决方法如下:
但是,在表单中我尝试过的每个元素上,
然后,在查看Gravity Forms文档之后,我找到了两个看起来有用的事件:
然而,文档没有说明如何访问参数。
除了没有正确的代码外,我还怀疑我没有将代码放在正确的位置,因为我也在functions.php和header.php中尝试了以下代码(如文档所建议的),但都没有成功。
我想在这个表单的最后一页执行一些自定义JavaScript。理论上,我只需要检索当前页面编号并编写条件即可。
简单吧?显然不是这样。
我的原始解决方法如下:
if ($('gform_page').last().css('display') !== 'none') {
// perform custom scripts now that the last
// Gravity Form page is being shown
}
但是,在表单中我尝试过的每个元素上,
$('...').css('display')
返回 undefined
。每次用户点击“下一步”按钮时,都会触发自定义脚本,但没有效果。然后,在查看Gravity Forms文档之后,我找到了两个看起来有用的事件:
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中尝试了以下代码(如文档所建议的),但都没有成功。
<?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);
?>
问题:
我需要什么代码来获取当前页面的页码,更重要的是,我需要将该代码放在哪里?