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

时间:2011-03-19 17:29:20

标签: ajax wordpress forms

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

3 个答案:

答案 0 :(得分:7)

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

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

您可以在http://www.gravityhelp.com/documentation/page/Gform_confirmation_anchor

找到相关主题

答案 1 :(得分:2)

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

这是一篇讨论每种方法的文章的link

答案 2 :(得分: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();
    });