Диалоговое окно подтверждения встроенного редактирования JqGrid - PullRequest
1 голос
/ 19 октября 2010

Я делаю некоторые встроенные изменения в jqgrid. Клиент хочет, чтобы появилось диалоговое окно подтверждения, что пользователь действительно хотел сохранить сделанные изменения (аналогично тому, как работает удаление). Глядя на http://github.com/tonytomov/jqGrid/blob/master/js/grid.inlinedit.js, я заметил, что команда editRow принимает эти параметры.

table.jqGrid ('editRow', id, true / keys /, Функция () {оповещения ( '1');} / oneditfunc * +1008 * /, функция () {оповещения ( '1,5'); вернуть false;} / successfunc /, нуль / 1012 * URL * /, нуль / extraparam /, Функция () {оповещения ( '2');} / aftersave /, Функция () {оповещения ( '3');} / ошибка /, Функция () {оповещения ( '4');} / afterrestore /); * * 1 021 когда я начинаю редактировать, вызывается oneditfunc. после публикации на сервер вызывается successfunc get, а затем вызывается afterrestore. Кажется, должен быть beforeSave или что-то подобное?

Эти параметры используются и отправляются в функцию saveRow. Не похоже, что есть где-нибудь, где я могу внедрить метод для прерывания отправки данных или всплывающее модальное окно, чтобы подтвердить внесенные изменения.

Это оплошность с моей стороны или это какая-то функциональность, которую мне придется испечь в jqgrid?

1 Ответ

2 голосов
/ 20 октября 2010

Одним из способов решения вашей проблемы является использование пользовательской проверки правки .Прежде чем данные будут отправлены на сервер, они будут проверены.Единственным недостатком подхода является то, что если пользователь решит не отправлять данные, будет отображено сообщение об ошибке с текстом, который вы в основном производите.

Другим способом будет использование serializeRowData вместе с errorfunc (параметр editRow).Обычно serializeRowData параметр jqGrid будет использоваться для изменения или кодирования данных, которые будут отправлены на сервер.Таким образом, если вы отобразите внутри функции диалоговое окно подтверждения и не отправите данные или фиктивные неверные данные на сервер в случае, сервер может ответить с известной ошибкой.Тогда внутри вашего errorfunc вы можете игнорировать эту особую ошибку.Таким образом, вы можете решить проблему с сообщением об ошибке.Ведь из-за ошибки jqGrid вызовите «restoreRow» и исходные данные будут восстановлены.

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