jqgrid addRow saveRow beforeSend

У меня есть jqGrid, в который я добавляю новую строку, которую пользователь может редактировать. У них есть кнопка для сохранения нового ряда. Мне нужно добраться до ajax beforeSend, чтобы добавить безопасность в вызов. Это работает в нескольких других сценариях с сеткой, но не в этом. Не уверен что происходит.

Вот как я добавляю новую строку:

  jQuery("#myTable").jqGrid('addRow',{
      rowID : "new_row",
      initdata : {},
      position :"first",
      useDefValues : false,
      useFormatter : false,
      addRowParams : {extraparam:{}});

Вот мой код, выполненный моей кнопкой сохранения:

      jQuery("#myTable").jqGrid('saveRow',"new_row", {
          "url": "{{path('recording_create')}}",
          "mtype": "POST",
          "succesfunc": function(response) {
              return true; 
          }
      });

Я пытался это, но это не уволен. Я думал, что это будет вызвано при сохранении строки:

$.extend($.jgrid.defaults,                 
                {
                ajaxRowOptions: { 
                    beforeSend: function () {
                        alert('Before Row Send'); // not called
                     }
                    },
                }
            );

Я тоже пробовал это, но, я думаю, это вызывается только при редактировании формы?

            $.extend($.jgrid.edit, {
                ajaxEditOptions: {
                    beforeSend: function (jqXHR, settings) {
                        alert('Before Row Send');  // not called
}}});

Какие-нибудь мысли?

Спасибо Скотт

2 ответа

Решение

Вы можете попробовать использовать

$.extend($.jgrid.inlineEdit, {
    ajaxRowOptions: {
        beforeSend: function (jqXHR, settings) {
            alert('Before Row Send');
        }
    }
});

Я надеюсь, что это сработает.

ОБНОВЛЕНО: Извините, но правильный код

$.extend($.jgrid.defaults, {
    ajaxRowOptions: {
        beforeSend: function () {
            alert('Before Row Send');
        }
    }
});

Вы уже включены в текст вашего вопроса. Он должен работать. Важно только убедиться, что код будет выполнен до создания сетки.

Олег, спасибо за идею. Но это не сработало. Тем не менее, следующее работает:

    $.ajaxSetup({
        beforeSend: function (jqXHR, settings) {
           alert('Before Row Send');               
      }});

Вопрос для вас, однако, откуда вы знаете, что можно продлить, как вы продлили выше?

Спасибо Скотт

Другие вопросы по тегам