重力形式:AJAX 加载的复选框在错误验证时未选中

Posted

技术标签:

【中文标题】重力形式:AJAX 加载的复选框在错误验证时未选中【英文标题】:Gravity forms: checkboxes loaded by AJAX get unchecked on bad validation 【发布时间】:2020-07-11 20:40:09 【问题描述】:

使用重力表单,复选框由 AJAX 根据下拉列表的值加载。一切正常。但是,当表单提交且无效时(例如,1 个必填字段留空),所有复选框都将被取消选中。

验证错误后,我使用$(document).on('gform_post_render', function( ) 重新加载复选框。

所以问题是,我怎样才能保留选中的复选框?

我还没有找到任何有关此问题的示例或解决方案。控制台中没有错误。 Gravity 表单加载的复选框在错误验证时保持选中状态。

有什么想法吗?

【问题讨论】:

【参考方案1】:

对于任何可能关心的人,我最终得到了以下解决方案。选中/未选中的框存储为 1 和 0 的字符串,以便稍后检索。

$(document).on('change', "input[type='checkbox']", function() 

    var sList = "";

    $('input[type=checkbox]').each(function () 

        var checked = (this.checked ? "1" : "0");

        sList += (sList == "" ? checked : "," + checked);

    );

    localStorage.setItem( 'checkBoxList', sList );

);

【讨论】:

以上是关于重力形式:AJAX 加载的复选框在错误验证时未选中的主要内容,如果未能解决你的问题,请参考以下文章

复选框设置日期,但在表单加载时未选中:需要加载事件吗?

javascript 显示重力的预加载器形成ajax形式

如果提交表单时未选中复选框,如何将布尔值更新为 0

使用useState(Reactjs)时未选中材料表复选框

在 C# 中的运行时未选中复选框时禁用文本框

如果 AJAX 错误,请取消选中复选框 [重复]