ГЛАВНАЯ ПРИЧИНА повторно выдавания исключения состоит в том, чтобы оставить Стек вызовов нетронутым, таким образом, можно получить больше полного изображения того, что происходит и называет последовательность.
Похоже, есть пара параметров события, которые мне не удалось полностью прочитать и понять ...
API -> http://www.trirand.com/jqgridwiki /doku.php?id=wiki:form_editing#editgridrow
использование параметров события для afterSubmit и afterComplete позволяет мне обработать ответ сервера и обновить форму.
- Дэн
EDIT Вот пример используемого кода ...
.navGrid(
"#product-codes-footer",
{edit:true,add:true,del:false},
{
afterShowForm:afterShowEdit,
afterSubmit:processAddEdit,
beforeSubmit:validateData,
closeAfterAdd: true,
closeAfterEdit: true
},
{
afterShowForm:afterShowAdd,
afterSubmit:processAddEdit,
beforeSubmit:validateData,
closeAfterAdd: true,
closeAfterEdit: true
}
);
function afterShowEdit(formId) {
//do stuff after the form is rendered
}
function afterShowAdd(formId) {
//do stuff after the form is rendered
}
function processAddEdit(response, postdata) {
var success = true;
var message = ""
var json = eval('(' + response.responseText + ')');
if(json.errors) {
success = false;
for(i=0; i < json.errors.length; i++) {
message += json.errors[i] + '<br/>';
}
}
var new_id = "1";
return [success,message,new_id];
}
Я видел несколько способов сделать это:
jQuery("#search_results").jqGrid({ url: host, datatype: "xml", mtype: "GET", // Handy to see the params passed. height: 200, width: 500, ... ... etc gridComplete: function() { var ids = jQuery("#search_results").getDataIDs(); if (ids.length Empty Result'); } else { $('#jqgrid_error').hide(); } }, loadError: function(xhr,st,err) { jQuery("#jqgrid_error").html("Type: "+ st +"; Response: "+ xhr.status + " "+xhr.statusText+''); } }).navGrid('#search_results_pager', {edit:true,add:false,del:false,search:true}, { afterComplete:processed, // processed is a function you define closeAfterEdit: true, reloadAfterSubmit:true } );
Из документации:
afterComplete Это событие срабатывает сразу после завершения всех действий и событий. и строка вставляется или обновляется в сетке. afterComplete (serverResponse, postdata, formid), где
gridComplete
Это срабатывает после загрузки всех данных в сетку и всех остальных
процессы завершены.
loadError xhr, st, err
Функция, вызываемая в случае сбоя запроса. Функция передается
три аргумента: объект XMLHttpRequest (XHR), строка
с описанием типа возникшей ошибки (st) и необязательным
объект исключения (ошибка), если он произошел.
Имеются удобные / полезные документы PDF (немного устаревшие): http://www.scribd.com/doc/17094846/jqGrid .