Мы используем специальный форматтер для вывода текстовых полей HTML-формы. В случае, если пользователь ввел данные и нажал кнопку «Далее/предыдущий», мы хотим сказать им: «Вы отредактировали данные, нажмите «ОК», чтобы остаться на этой странице и сохранить свои данные». Как вы можете это сделать?
Событие 'onPaging срабатывает при использовании пейджера, но похоже, не позволяет предотвратить разбиение на страницы.
Обновление: текущий обходной путь:
var currPg = 1;
var dirty = 'false';
$("#list").jqGrid({
...
onPaging: function (b) {
var nextPg = $("#list").getGridParam("page");
if (dirty == 'false') {
currPg = nextPg;
return;
}
$( "#dialog-confirm" ).dialog({
modal: true,
buttons: {
"Stay on current page": function() {
$( this ).dialog( "close" );
},
"Change page": function() {
$( this ).dialog( "close" );
reloadGrid($("#list"), null, nextPg, 'false');
}
}
});
$("#list").setGridParam({page:currPg}); //Workaround - jqGrid still increments the page num even when we return stop so we have to reset it (and track the current page num)
return 'stop';
},
Обновление 2: зарегистрирована ошибка здесь.