提交表单后,如何将页面保持在当前位置,以便用户可以看到他们可能犯的错误?

问题描述 投票:0回答:4

我的页面底部有一个表格。我正在使用 Wordpress 和一个名为 Gravity Forms 的插件。当我在页脚 div 内提交主页底部的表单并发现错误后,它会转到页面顶部,并且不再可以看到错误。这会导致可用性问题。有人可以告诉我如何在提交表单后将页面保持在当前位置吗?该表单使用ajax来检查错误。

ajax wordpress forms
4个回答
8
投票

我知道这是一篇较旧的文章,但以防万一有人像我一样寻找解决方案...... GravityForms 包含一个正是出于这个原因的函数。要防止所有表单重新加载并跳转到页面顶部,只需使用以下内容

add_filter("gform_confirmation_anchor", create_function("","return true;"));

您可以在这里找到该主题http://www.gravityhelp.com/documentation/page/Gform_confirmation_anchor


2
投票

使用 return false;或 e.preventDefault();

这是讨论每种方法的文章的链接


1
投票
简单的方法:我改变了表单的ID,所以Gravity表单的Javascript无法删除表单。

/* Change ID to do not allow remove after saving */ jQuery(".gform_wrapper").each(function(){ var self=jQuery(this); var form_id=self.attr("id").replace("gform_wrapper_","mygform_wrapper_"); self.attr("id", form_id); });

另外,保存后做一些事情:

jQuery(document).bind('gform_confirmation_loaded', function(event, form_id){ //Hide loading icon jQuery("#gform_ajax_spinner_"+form_id).remove(); });
    

0
投票
使 AJAX True 与短代码一起对我来说成功了。

[gravityform id="2" title="true" ajax="true"]
    
© www.soinside.com 2019 - 2024. All rights reserved.