【问题标题】:How to clear jqGrid add/edit form with custom post?如何使用自定义帖子清除 jqGrid 添加/编辑表单?
【发布时间】:2012-04-30 20:56:10
【问题描述】:

我目前正在处理 jqGrid 添加/编辑表单。我正在添加和编辑上实现自定义按钮。使用其中一个自定义按钮,我实现了 javascript 以将表单发布到服务器并重新加载网格。这目前工作正常,但是表单并没有清除输入的数据。

即我想知道如何在提交后清除添加表单的字段?

见下面的代码:

beforeShowForm: function () {
    $('<a href="#">Save and New<span class="ui-icon ui-icon-disk"></span></a>')
        .click(function () {
            $.post('<c:url value="/programmes/create"/>',
                $('#FrmGrid_list2').serialize(),
                function (data) {
                    $('#list2').trigger("reloadGrid");
                });
        }).addClass("fm-button ui-state-default ui-corner-all fm-button-icon-left")
          .prependTo("#Act_Buttons>td.EditButton");
}

【问题讨论】:

    标签: javascript jquery jqgrid


    【解决方案1】:

    您可能忘记使用recreateForm: true(请参阅my previous answer)。我多次推荐托尼将设置设为默认值。无论如何,我建议您要么始终使用该选项,要么更改一些常见 JavaScript 文件中的默认值,这些文件在 jqGrid 之后包含在所有页面中:

    $.extend($.jgrid.edit, { recreateForm: true });
    

    【讨论】:

    • recreateForm 效果很好,但也会重新加载整个页面,因此会丢失滚动位置。是否有无需重新加载页面的 Ajax 替代方案?
    • @Chensformers:抱歉,recreateForm: true 不会重新加载页面。默认的表单编辑选项reloadAfterSubmit: true 执行此操作。您可以使用$.extend($.jgrid.edit, { recreateForm: true, reloadAfterSubmit: false }); 或仅使用$.extend($.jgrid.edit, { reloadAfterSubmit: false });。试图解决页面默认重新加载的最大问题:添加/编辑操作后的错误排序或分页。其他问题是为新添加的行分配id。如果一个使用reloadAfterSubmit: false,则在添加操作的情况下也应该实现afterSubmit
    • @Chensformers,请将此标记为正确答案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多