2012-03-03 71 views
1

我发现了许多关于我的问题的回复,并且做得很对,但是因为有些人有这样的问题,我的问题没有解决。即我的表单在点击提交按钮后不会消失。 我用这个代码:(我想我的问题是微小的,但我解决不了,请帮我)如何在jqgrid提交后关闭表单并重新加载网格?

$(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

您应该返回从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

0

我有一个类似的问题,但尝试手动关闭窗体,我敢肯定这不是最好的事情,但它无论如何工作。

尝试增加这代码

function processAddEdit(response, postdata) { 
    alert("* "+response.responseText+" *"); 
    $(".ui-icon-closethick").trigger('click'); 
} 

这是更好地评估是否有无论如何关闭窗体之前没有错误。

相关问题