我知道我们可以使用以下方法将自定义脚本注入重力形式: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添加一个外部链接到Gravity Form实例,如下所示:
<script type='text/javascript' src='...'></script>
不确定在functions.php或与Gravity Form相关的php文件
中的位置答案 0 :(得分:1)
我创建了一个自定义字段mycustomfield(使用css我在表单上看不到)然后我只是过滤了字段,并在其中包含8个jquery文件的php文件。因此,创建一个名为scriptjs.php的空文件,你可以在那里放置你想要的任何内容,它将被拉入表单中。
<script type='text/javascript' src='...'></script>
将以下代码添加到functions.php中,更改&#39; plugins_url&#39;在您的主题文件夹的代码中或您计划托管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;
}