如何添加自定义Javascript和外部src链接到重力表单

How to add custom Javascript and external src link to a Gravity Form?

本文关键字:链接 src 外部 表单 Javascript 何添加 添加 自定义      更新时间:2023-09-26

我知道我们可以使用以下方式将自定义脚本注入重力表单:http://www.gravityhelp.com/documentation/page/Gform_register_init_scripts

示例使用jquery脚本。但是有可能像下面这样注入正常的javascript代码吗?

var addresses = document.getElementsByClassName('classAddress');
i = addresses.length;
while (i--) {
   var autocomplete = new google.maps.places.Autocomplete(addresses[i]);
}

也可以添加一个外部链接到JS的重力表单实例,像这样:

<script type='text/javascript' src='...'></script>

不知道在哪里做这个函数。php或重力表单相关的php文件

可以。这是我是怎么做的(准备一个疯狂的hackky但工作的装置)。这是一种非常丑陋,令人讨厌的方式,但由于时间限制,所以我提前道歉,因为这不是WordPress的做事方式。

我做了一个自定义字段,mycustomfield,(使用css我不可见的形式),然后我只是过滤了字段,并在它的地方拉在一个php文件包含8个jquery文件。所以创建一个名为scriptjs。php的空文件,你可以在里面放任何你想放的东西它会被拉入表单,就是这样。

<script type='text/javascript' src='...'></script>

将下面的代码添加到functions.php中,将代码中的'plugins_url'更改到您的主题文件夹或您计划托管scriptsjs.php文件的任何地方。不要忘记创建一个自定义字段,或者您可以过滤其他不使用的字段。

add_filter("gform_field_input", "mycustomfield_input", 10, 5);
function mycustomfield_input($input, $field, $value, $lead_id, $form_id){
    if($field["type"] == "mycustomfield"){
            $input_name = $form_id .'_' . $field["id"];
            $tabindex = GFCommon::get_tabindex();
            $css = isset( $field['cssClass'] ) ? $field['cssClass'] : '';
            $input='';
            if(!is_admin()){
                $input=file_get_contents(plugins_url('scriptjs.php', __FILE__));
            }
    }
    return $input;
}