2012-04-30 2 views
0

В настоящее время я работаю над формой добавления/изменения jqGrid. Я реализую пользовательские кнопки как для добавления, так и для редактирования. с одной из пользовательских кнопок я внедрил javascript для отправки формы на сервер и перезагрузки сетки. В настоящее время это работает нормально, однако форма не очищает данные, которые были введены.Как очистить jqGrid добавить/изменить форму с помощью настраиваемого сообщения?

i.e Мне нравится знать, как очистить поля от формы после отправки?

см код ниже:

beforeShowForm: function() { 
    $('<a href="#">Save and New<span class="ui-icon ui-icon-disk"></span></a>') 
     .click(function() { 
      $.post('<c:url value="/programmes/create"/>', 
       $('#FrmGrid_list2').serialize(), 
       function (data) { 
        $('#list2').trigger("reloadGrid"); 
       }); 
     }).addClass("fm-button ui-state-default ui-corner-all fm-button-icon-left") 
      .prependTo("#Act_Buttons>td.EditButton"); 
} 

ответ

1

Возможно, вы забыли использовать recreateForm: true (см my previous answer). Я много раз рекомендовал Тони сделать настройку по умолчанию. В любом случае я рекомендую вам использовать либо всегда есть возможность или изменить значения по умолчанию в какой-то общий файл JavaScript, который вы включаете на всех страницах после jqGrid:

$.extend($.jgrid.edit, { recreateForm: true }); 
+0

recreateForm отлично работает, но и перегружает всю страницу, таким образом, теряет позицию прокрутки , Есть ли альтернатива Ajax без перезагрузки страницы? – devXen

+1

@Chensformers: Извините, но 'recreateForm: true' не перегружает страницу. По умолчанию используется опция редактирования формы 'reloadAfterSubmit: true'. Вы можете использовать '$ .extend ($. Jgrid.edit, {recreateForm: true, reloadAfterSubmit: false});' или просто '$ .extend ($. Jgrid.edit, {reloadAfterSubmit: false});'. Самая проблема, которая пытается решить перезагрузку страницы по умолчанию: неправильная сортировка или подкачка после операции «Добавить/редактировать». Дополнительной проблемой является присвоение 'id' для новой добавленной строки. Если вы используете 'reloadAfterSubmit: false', то в случае операции Add следует реализовать' afterSubmit'. – Oleg

+0

Спасибо, Олег! – devXen

Смежные вопросы