jQuery jqGrid当编辑行完成时显示消息

我在这里遵循这个教程http://www.trirand.com/blog/jqgrid/jqgrid.html在LiveDataManipulation-> EditRow

我的网格从脚本a.php接收数据。 用户可以通过jqGrid修改这个数据。 jqGrid修改后的数据将发送数据到脚本B.php ,更新我的数据库,并返回一个响应的消息,如“一切顺利”。
我希望这个响应被警告或者显示给用户页面上的某个地方。
阅读教程,在这里http://www.trirand.com/jqgridwiki/doku.php?id=wiki:form_editing我认为我已经使用afterSubmit选项,但我还没有理解如何在编辑面板上打印结果。

我已经写了:

 $("#editImpresa").click(function(){ var gr = jQuery("#tabImprese").jqGrid('getGridParam','selrow'); if( gr != null ) jQuery("#tabImprese").jqGrid('editGridRow',gr,{ height:690, width:500, closeAfterEdit : true, reloadAfterSubmit:false, afterSubmit: function(response,postdata){ if(response.responseText=="ok") success=true; else success = false; return [success,response.responseText] } }); 

我该怎么做? 谢谢。

首先选项closeAfterEdit:true在服务器响应成功后closures编辑表单。 您应该将设置更改为默认值closeAfterEdit:false以显示任何内容。

接下来,我会build议您使用导航器工具栏,而不是在网格之外创buildbutton。 在这种情况下你可以使用

 var grid = jQuery("#tabImprese"); grid.jqGrid('navGrid','#pager', {add:false,del:false,search:false}, prmEdit); 

一个更好的select是使用ondblClickRow事件处理程序

 ondblClickRow: function(rowid) { $(this).jqGrid('editGridRow',rowid,prmEdit); } 

(见这里 )或两种方式在同一时间。

无论如何,你必须定义editGridRow方法( prmEdit )的选项。 只有当服务器响应不包含错误HTTP状态码时 ,才会调用afterSubmit,这一点很重要。 所以你应该使用errorTextFormat来解码错误服务器响应。 您可以使用afterSubmit事件处理程序来显示状态消息。

在演示中,我只使用了errorTextFormat来演示状态和错误消息的显示:

在这里输入图像描述

状态消息在3秒内消失:

在这里输入图像描述

相应的演示你会在这里find。

在实际的例子中,你将把代码写入状态消息放置在afterSubmit事件处理程序中,并返回错误消息在errorTextFormat中的代码 。