Редактирование формы jqGrid застряло с изначально загруженными значениями - PullRequest
1 голос
/ 09 ноября 2010

Когда я открываю форму для редактирования значений:

  1. Не изменяет значения формы при навигации с помощью кнопок <>

  2. Он открывает новую форму с теми же значениями, что и первая отредактированная строка, и когда я нажимаю "Submit", она перезаписывает эту строку вместо создания нового элемента

  3. Когда я щелкаю, чтобы отредактировать другую строку, она всегда показывает значения формы для первой отредактированной строки - то есть, если я сначала нажимаю кнопку Создать, а затем редактирую строку, она показывает пустую форму.

Итак, вкратце, при первом открытии формы значения «застряли» в любой строке, которую я открою позже.

Что может вызвать это? Я помню, раньше он работал нормально.

UPDATE:

Нет, с помощью refreshateForm У меня нет этой проблемы (я использую ее как временное решение).

Хм, я могу воспроизвести это на примере jqGrid, но не на Live Manipulation - на New в версии 3.7, Add/edit/delete на local data:

  1. Нажмите на любую строку и отредактируйте ее (откройте форму)
  2. Закрыть форму
  3. Выберите любую другую строку и нажмите «Изменить» - форма показывает неправильные значения (из строки, которая была открыта первой)
  4. Нажмите кнопку Добавить новую строку на панели инструментов - форма показывает те же значения - что очень удобно, обычно новые строки «почти» совпадают - если только это добавит новую строку, а не обновит существующую!

Конечно, в live demo Submit этого не происходит (кажется, что оно совсем не работает), но за исключением этого симптомы такие же.

Также <> кнопки не изменяют данные в форме, хотя они изменяют выбранную строку - но из того, что я помню ранее, она использовалась для обновления значений формы также для соответствия выбранной строке.

1 Ответ

4 голосов
/ 10 ноября 2010

Вероятно, вы должны опубликовать описание вашей ошибки с надписью "Новое в версии 3.7", "Добавить / редактировать / удалить" в качестве ошибки на форуме trirand .

Проблема в том, что ошибка существует в совершенно особой среде / данных / настройках. Например, я протестировал мой старый пример локального редактирования , измененный до jqGrid 3.8.1 или в 3.7.2 , и не могу воспроизвести проблему, которую вы описываете. Так что вы можете использовать мои примеры в качестве шаблона, если он вам поможет.

Более того, во всех примерах, которые я использую для реальных проектов, я всегда использую параметр recreateForm:true. Если вы не используете его, jqGrid не создайте форму, но попробуйте использовать существующие с другими данными. Это работает во многих случаях неправильно. Например, если вы используете какие-либо функции dataInit, они будут вызываться только один раз при создании формы, что может привести к очень странным последствиям. Если вы используете edittype: 'custom', использование recreateForm:true действительно обязательно (см. this ). Поэтому я рекомендовал много раз всем людям использовать

jQuery.extend(jQuery.jgrid.edit, {recreateForm: true});

для установки recreateForm: true в качестве настроек по умолчанию. Вы можете сэкономить много часов или дней отладки некоторых странных эффектов в ваших диалогах редактирования / добавления.

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