如果在jqgrid中单击了保存操作按钮,如何提供即时反馈

时间:2011-09-07 06:49:25

标签: jquery-ui jqgrid

使用以下代码将编辑操作按钮添加到jqGrid行。 编辑完成后如果单击“保存操作”按钮,则没有任何反应,“保存”按钮保持活动 保存需要一些时间,看起来像点击被忽略。用户一次又一次点击保存按钮。

如何在单击“保存”按钮之后和保存完成之前提供即时反馈:更改保存按钮图标以保存动画,删除再次单击它的可能性,显示保存消息? 使用了jqueryUI。

colModel: [{"fixed":true,"label":" change ","name":"_actions","width":($.browser.webkit == true? 37+15: 32+15)
    ,"align":"center","sortable":false,"formatter":"actions",
"formatoptions":{"keys":true,"delbutton":false,"onSuccess":function (jqXHR) {actionresponse = jqXHR;return true;}
    ,"afterSave":function (rowID) {
    cancelEditing($('#grid'));afterRowSave(rowID,actionresponse);actionresponse=null; }
    ,"onEdit":function (rowID) {
      if (typeof (lastSelectedRow) !== 'undefined' && rowID !== lastSelectedRow)
        cancelEditing($('#grid'));
        lastSelectedRow = rowID;
        }
    }}

更新

如果在没有任何代码的内联编辑中以两种方式保存,FireFox会使网格无效(灰化)。所以看起来像IE问题。

如何在IE 9中使jqGrid变灰?

1 个答案:

答案 0 :(得分:1)

如果我理解你的问题,你的问题就不是“行动”格式化程序的问题。如果用户只需按“Enter”并且该行应保存在服务器上,则在内联编辑中存在同样的问题。 没有直接事件会在ajax请求发送到服务器之前触发。

然而,有不同的间接可能接收控制并为用户显示“正在保存...”消息。最简单的方法是使用serializeRowData来显示消息。你不应该忘记关闭errorfuncsuccessfunc方法中的“Saving ...”div。