提问人:michele 提问时间:7/22/2011 最后编辑:Volker E.michele 更新时间:8/26/2014 访问量:18678
jQuery jqGrid 在编辑行完成时显示消息
jQuery jqGrid Show message when an edit row is complete
问:
我在这里 http://www.trirand.com/blog/jqgrid/jqgrid.html 按照本教程进行操作 LiveDataManipulation->EditRow
我的网格从脚本接收数据。用户可以通过 jqGrid 修改此数据后。
修改数据后的jqGrid会将数据发送到更新我的数据库的脚本,并返回一条响应消息,例如“一切顺利”。
我希望此响应在页面上的某个位置向用户发出警报或显示。
阅读教程和这里 http://www.trirand.com/jqgridwiki/doku.php?id=wiki:form_editing 我认为我必须使用选项,但我不明白如何在编辑面板上打印结果。a.php
B.php
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
closeAfterEdit:false
接下来,我建议您使用导航器工具栏,而不是在网格之外创建按钮。在您可以使用的情况下
var grid = jQuery("#tabImprese");
grid.jqGrid('navGrid','#pager', {add:false,del:false,search:false}, prmEdit);
另一个不错的选择是使用事件处理程序ondblClickRow
ondblClickRow: function(rowid) {
$(this).jqGrid('editGridRow',rowid,prmEdit);
}
(见此处)或同时采用两种方式。
无论如何,您必须定义 editGridRow 方法 (the ).请务必知道,仅当服务器响应不包含错误 HTTP 状态代码时,才会调用 afterSubmit。因此,您应该使用 errorTextFormat 来解码错误服务器响应。可用于显示状态消息的 afterSubmit 事件处理程序。prmEdit
在演示中,我只演示了状态和错误消息的显示:errorTextFormat
状态消息会在 3 秒后消失:
您可以在此处找到相应的演示。
在实际示例中,您将把代码编写状态消息放在 afterSubmit 事件处理程序中,并将返回错误消息的代码放在 errorTextFormat 中。
评论