在Jqgrid EDIT表单上显示成功消息
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Jqgrid EDIT表单上显示成功消息相关的知识,希望对你有一定的参考价值。
编辑PRMS
edit: {
addCaption: "Add CDM",
bSubmit: "Submit",
bCancel: "Cancel",
bClose: "Close",
saveData: "Data has been changed! Save changes?",
bYes: "Yes",
bNo: "No",
bExit: "Cancel",
//serializeEditData: serailize,
//editData: {new_CDM_ID: function() { return $('#cdmID').val();} },
closeOnEscape: true,
recreateForm: true,
width: '450',
afterSubmit: function (response, postdata) {
var result = jQuery.parseJSON(response.responseText);
return [result.success, result.message, result.id];
//return [success, message, new_id]
}
题
我能够在afterSubmit事件中捕获错误消息,并且还能够在jqgrid的编辑窗体上显示它。但成功信息并没有发生同样的情况。我能够捕获它但无法在jqgrid的编辑形式上显示。我应该使用不同的事件来显示成功消息。
我的要求是:
- 显示红色的错误消息(工作)
- 以绿色显示成功消息(不工作)
答案
方法“afterSubmit”的documentation说:“(如果成功,则忽略消息)。”
你应该使用黑客。将此代码放在afterSubmit方法中。 :
if(response.status == 200){
$(".topinfo").html("info message");
var tinfoel = $(".tinfo").show();
tinfoel.delay(3000).fadeOut();
return [true,''];
} else {
return [false,'error message'];
}
这适用于jqGrid 4.4.1的版本。
另一答案
从@Gab获取灵感,这是我的最终代码,效果很好。 closeAfterEdit如果设置为true,则上面的解决方案没有显示msg,所以我创建了新的对话框。
function(response) { if(response.status == 200)
{
jQuery.jgrid.info_dialog("Info","<div class="ui-state-highlight" style="padding:5px;">Record updated!</div>",
jQuery.jgrid.edit.bClose,{buttonalign:"right"});
jQuery("#info_dialog").delay(3000).fadeOut();
return [true,""];
}
}
另一答案
您可以使用以下代码:
afterSubmit: function (response, postdata) {
var myInfo = '<div class="ui-state-highlight ui-corner-all">'+
'<span class="ui-icon ui-icon-info" ' +
'style="float: left; margin-right: .3em;"></span>' +
"Done Successfully!!!"
'</div>',
$infoTr = $("#TblGrid_" + $.jgrid.jqID(this.id) + ">tbody>tr.tinfo"),
$infoTd = $infoTr.children("td.topinfo");
$infoTd.html(myInfo);
$infoTr.show();
setTimeout(function () {
$infoTd.children("div")
.fadeOut("slow", function () {
// Animation complete.
$infoTr.hide();
});
}, 3000);
// failcount = 0;
// totalcount = 0;
return [true, "", ""]; // response should be interpreted as successful
},
以上是关于在Jqgrid EDIT表单上显示成功消息的主要内容,如果未能解决你的问题,请参考以下文章