我正在使用启用了 AJAX 的嵌入式 Gravity forms Elementor 表单。
我注意到,当用户填写表单并提交并出现错误时,所有先前提交的输入都被删除!
如何更改此行为并始终保留已输入的字段?
谢谢!
这是我的分析 - 在发生错误时保留重力表单中的用户输入。您可以使用钩子 gform_pre_render 和 gform_validation 这确保表单保留其属性。这是一个简单的方法。为了实现这个目标:
禁用表单的 AJAX:虽然 AJAX 很方便,但有时会导致存储输入值出现问题。尝试暂时禁用它,看看是否可以解决问题。
使用此代码片段:将以下代码添加到文件中。 Functions.php 或您主题的自定义插件:
add_filter('gform_pre_render','save_input_values');
add_filter('gform_validation','store_input_values');
函数 save_input_values($form) { .
foreach ($form['fields'] 例如 &$field) {; if (isset($POST['条目' .
$field['id']])) { $field['defaultValue'] = sanitize_text_field($POST['input' . $field['id']]); - - - - 返回$表格;
此代码将从提交的表单中获取输入值。设置为默认值并确保即使发生错误它仍然可见。
使用该解决方案将使用户工作更加高效。这是因为如果发生数据传输错误,先前输入的数据不会丢失。