jQuery更改为隐藏字段后,在Gravity Forms中触发表单更新

时间:2018-06-21 17:23:44

标签: javascript jquery wordpress gravity-forms-plugin

简短说明:是否存在JavaScript函数或挂钩来触发对重力窗体的更新,以便执行条件逻辑?

原始问题:

我正在使用Gravity Forms,并且创建了一个“ on change”事件

$('#gform_1').find('.gfield_date_dropdown_month select').change(function () {
      var month = $(this).val();
      $('input#input_1_6').val(month).change();
});

此事件之后,我希望重力表单检查/更新表单,以便对相关字段执行“条件逻辑”。

我已经检查了https://docs.gravityforms.com/category/extending-gravity-forms/hooks/javascript上的钩子 但是我找不到可以用于此目的的钩子。有什么想法吗?

更新: 更改的字段(#input_1_6)为“隐藏”。这似乎是问题所在。当我使该字段可见时,它确实起作用了!因此,更改为“隐藏”字段似乎不会触发对表单的更新。如果我有一个可以触发此更新的函数,可以将其添加到我的jQuery函数中。


有关此问题的一些背景信息。我希望在日期字段中选择某个月份时该字段变得可见。由于Gravity Forms不支持基于日期字段的“条件逻辑”,因此我想用“月值”更新一个隐藏字段,然后将该值用于相关字段上的“条件逻辑”。

enter image description here

1 个答案:

答案 0 :(得分:0)

重力字段条件条件由clickchange事件触发,具体取决于字段的类型。您可以使用change方法手动触发.change()事件。

请注意,这是行不通的,因为条件没有绑定到附加更改事件的字段,因此您必须在具有条件的字段上触发.change() 。假设字段1_6是触发条件的字段:

$('#gform_1').find('.gfield_date_dropdown_month select').on('change', function(){
    var month = $(this).val();
    $('#input_1_6').val(month).change();
});

其他一些小注释,请考虑使用.on('change', function(){}而不是.change(function(){},因为它会在动态元素上触发-以及在input之前不需要#input_1_6已经是一个独特的元素了。

干杯!