jqgrid userData отправляет null при обновлении

У меня есть jqgrid и форма. Когда сетка обновляется, я пытаюсь отправить значения формы обработчику на стороне сервера. Для тестирования я использую только одну переменную в форме. Firebug показывает, что jqgrid передает имя поля, но значение всегда равно нулю, независимо от того, что выбрано.

Согласно документации jqgrid, я должен обрабатывать это с помощью переменной postData:

postData: {ТОЧКА: jQuery ('# ТОЧКА'). val ()}

Я также протестировал это, чтобы убедиться, что вызов jQuery для получения значения работает в других частях страницы - только не при обновлении сетки.

Вот соответствующий код:

jQuery(document).ready(funcion(){ 
  jQuery("#list").jqGrid({
    url:'poquery.php',  
    datatype: 'json',
    mtype: 'POST',
    colNames:['PO Number ','Date','Vendor','Dept','Buyer','Terms'],
    colModel :[ 
      {name:'PONUMB', index:'PONUMB', width:65}, 
      {name:'PODATE', index:'PODATE', width:70},
      {name:'POVEND', index:'POVEND', width:70},
      {name:'POIDPT', index:'POIDPT', width:70},
      {name:'POINIT', index:'POINIT', width:70},
      {name:'TERMS', index:'TERMS', width:70},
    ],
postData: {POINIT : jQuery('#POINIT').val()},
    pager: '#pager',
    rowNum:10,
    rowList:[10,20,30],
    sortname: 'PONUMB',
    sortorder: 'desc',
    viewrecords: true,
    caption: 'Purchase orders'
   }).navGrid('#gridpager',{view:false,edit:false,add:false, del:false}, 
{}, // use default settings for edit
{}, // use default settings for add
{},  // delete instead that del:false we need this
{multipleSearch : true}, // enable the advanced searching
{closeOnEscape:true} 
);

}); 

Любая помощь будет принята с благодарностью.


person David Hamilton    schedule 26.08.2009    source источник
comment
Это работает для меня, поэтому я подозреваю, что вы либо не устанавливаете то, что вы думаете, в инициализации сетки, либо перезаписываете его. Я никогда не видел, чтобы postData выходил из строя, и я установил его так же, как вы это сделали выше. Отладьте результат val ()!   -  person Craig Stuntz    schedule 26.08.2009


Ответы (1)


Я слишком поздно с этим ответом, но уловка в том, чтобы использовать функцию:

postData: {ТОЧКА: функция () {возврат $ ('# ТОЧКА'). val (); }}

person Ryan    schedule 11.03.2010
comment
У меня была такая же проблема, и это исправило ее. Спасибо! - person Rismo; 21.12.2010