我发现很多关于我的问题的回答并正确地做到了,但是因为有些人有这样的问题,我的问题没有解决。即点击提交按钮后我的表格不会消失。 我使用这段代码:(我想我的问题很小但我无法解决,请帮帮我)
$(function(){
$("#grid").jqGrid({
url:'example.php',
datatype: 'xml',
mtype: 'POST',
colNames:['Inv No','Date', 'Amount','Tax','Total','Notes'],
colModel :[
{name:'invid', index:'invid', width:55, align: 'center'},
{name:'invdate', index:'invdate', width:90, align: 'center'},
{name:'amount', index:'amount', width:80, align:'center',editable: true},
{name:'tax', index:'tax', width:80, align:'center',editable: true},
{name:'total', index:'total', width:80, align:'center'},
{name:'note', index:'note', width:150, sortable:false}
],
height: 'auto',
width: 'auto',
editurl: "edit.php",
pager: '#pager',
rowNum:10,
cellEdit: true,
cellsubmit: 'remote',
cellurl: 'edit.php',
ondblClickRow: function(id, status) {
//var pageNumber = jQuery("#grid").getGridParam('rowNum');
//jQuery("#grid").editGridRow(id);
alert(id);
},
afterSubmitCell: function(response) {
if(response.responseText == "ERROR")
alert('Zekki');
},
beforeSubmitCell: function() {
alert('before');
},
rowList:[10,20,30],
sortname: 'invid',
sortorder: 'asc',
viewrecords: true,
gridview: true,
caption: 'My first grid',
multiselect: true,
multikey: 'ctrlKey',
toolbar: [true,'bottom'],
loadComplete: function () {
//alert("OK");
},
loadError: function (jqXHR, textStatus, errorThrown) {
alert('HTTP status code: ' + jqXHR.status + '\n' +
'textStatus: ' + textStatus + '\n' +
'errorThrown: ' + errorThrown);
alert('HTTP message body (jqXHR.responseText): ' + '\n' + jqXHR.responseText);
}
}).navGrid('#pager',{edit:true,add:true,del:true},
{
afterSubmit:processAddEdit,
closeAfterAdd: true,
closeAfterEdit: true,
reloadAfterSubmit:true,
},
{
afterSubmit:processAddEdit,
closeAfterAdd: true,
closeAfterEdit: true,
reloadAfterSubmit:true,
},
{
afterSubmit:processAddEdit,
closeAfterAdd: true,
closeAfterEdit: true,
reloadAfterSubmit:true
}).filterToolbar();
function processAddEdit(response, postdata) {
alert("* "+response.responseText+" *");
}
/*var pageNumber = jQuery("#grid").getGridParam('page');
var rowNumber = jQuery("#grid").getGridParam('rowNum');
*/
});
由于 最诚挚的问候
答案 0 :(得分:0)
您应该从afterSubmit回调函数返回一些内容。
类似的东西:
function processAddEdit(response, postdata) {
alert("* "+response.responseText+" *");
if (everything_is_ok)
return [true,"",new_id];
else
return [false,"Some error happened",null];
}
请参阅trirand wiki。
答案 1 :(得分:0)
我遇到了类似的问题,但是尝试手动关闭表单,我确信这不是最好的事情,但无论如何都可以。
尝试将其添加到代码
function processAddEdit(response, postdata) {
alert("* "+response.responseText+" *");
$(".ui-icon-closethick").trigger('click');
}
最好在关闭表单之前评估是否没有错误。