使用重力形式时如何删除元素?

时间:2019-04-20 01:51:40

标签: javascript-objects

我正在尝试从表单中删除小部件,以便使重力表单中的“日期选择器”为只读。我已经禁用了此重力形式字段的文本输入,但是日历小部件提供了一个漏洞,无论如何可以更改日期。此日期选择器小部件可能是基于已安装的插件创建的(该插件对于我们公司而言是表格正常运行所必需的)。

我想知道我的代码是否有问题,是否有其他代码可以尝试删除小部件,或者这是否是重力形式的问题(如果有人对程序很了解)。 / p>

我在Google Chrome浏览器的控制台中测试了以下代码,并且能够在日期选择器中成功删除日历小部件:

var element = document.getElementById('ui-datepicker-div');element.parentNode.removeChild(element);

然后在HTML字段中,根据重力形式的说明,将我编写的代码插入到重力形式提供的以下代码之间:

<script>
function myCustomJs() {
    return true;
}

function myCustomJs();
</script>

将其生成为当前代码:


<script>
function myCustomJs() {
    return true;

var element = document.getElementById('ui-datepicker-div');element.parentNode.removeChild(element);

}

function myCustomJs();
</script>

但是不幸的是,当我运行预览时,什么都没有发生(与我在google chrome开发人员控制台中运行时不同)。

1 个答案:

答案 0 :(得分:0)

如果您的目标很简单,那就是禁用特定字段的重力表格日期选择器,那么我建议您使用PHP。

add_filter( 'gform_field_content_123_4', function( $content ) {
    $content = str_replace( 'datepicker', '', $content );
    return $content;
} );

将过滤器名称中的123更新为表单ID,并将4更新为日期字段ID。

仅供参考,这是使用Gravity Forms Read Only插件进行开箱即用的处理。