我正在尝试从表单中删除小部件,以便使重力表单中的“日期选择器”为只读。我已经禁用了此重力形式字段的文本输入,但是日历小部件提供了一个漏洞,无论如何可以更改日期。此日期选择器小部件可能是基于已安装的插件创建的(该插件对于我们公司而言是表格正常运行所必需的)。
我想知道我的代码是否有问题,是否有其他代码可以尝试删除小部件,或者这是否是重力形式的问题(如果有人对程序很了解)。 / 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开发人员控制台中运行时不同)。
答案 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插件进行开箱即用的处理。