Как обеспечить немедленный отзыв, если в jqgrid нажата кнопка сохранения действия - PullRequest
0 голосов
/ 07 сентября 2011

Кнопка редактирования действия добавлена ​​в строку jqGrid с помощью приведенного ниже кода.После редактирования, если нажата кнопка «Сохранить действие», ничего не происходит, кнопка «Сохранить» остается активной.Сохранение занимает некоторое время, и похоже, что щелчок игнорируется.Пользователи нажимают кнопку «Сохранить» снова и снова.

Как обеспечить немедленную обратную связь после нажатия кнопки «Сохранить» и до ее завершения: изменить значок кнопки «Сохранить» на сохранение анимации, удалить возможность повторного нажатия на нее, показать сообщение о сохранении?Используется jqueryUI.

colModel: [{"fixed":true,"label":" change ","name":"_actions","width":($.browser.webkit == true? 37+15: 32+15)
    ,"align":"center","sortable":false,"formatter":"actions",
"formatoptions":{"keys":true,"delbutton":false,"onSuccess":function (jqXHR) {actionresponse = jqXHR;return true;}
    ,"afterSave":function (rowID) {
    cancelEditing($('#grid'));afterRowSave(rowID,actionresponse);actionresponse=null; }
    ,"onEdit":function (rowID) {
      if (typeof (lastSelectedRow) !== 'undefined' && rowID !== lastSelectedRow)
        cancelEditing($('#grid'));
        lastSelectedRow = rowID;
        }
    }}

Обновление

FireFox делает сетку неактивной (неактивной) должным образом, если она сохраняется обоими способами во встроенном редактировании без кода.Так что, похоже, проблема с IE.

Как сделать серый цвет jqGrid в IE 9 также?

1 Ответ

1 голос
/ 07 сентября 2011

Если я вас правильно понял, ваша проблема - это не проблема форматера 'Actions'.Та же проблема, что и у вас во встроенном редактировании, если пользователь просто нажимает «Enter» и строка должна быть сохранена на сервере.Существует прямое событие no , которое будет инициировано перед запросом ajax к серверу.

Тем не менее существуют различные косвенные возможности получения контроля и отображенияСообщение "Сохранение ..." для пользователя.Самый простой способ - использовать serializeRowData для отображения сообщения.Не забывайте закрывать div "Saving ..." в методах errorfunc и successfunc.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...