2009-08-26 9 views
1

私はjqgridとフォームを持っています。グリッドがリフレッシュされると、フォームの値をサーバーサイドハンドラに送信しようとしています。テストのために、私はフォーム内の変数を1つだけ使用しています。 Firebugはjqgridがフィールド名を渡していることを示していますが、値は選択されているものに関係なく常にnullです。jqgrid userDataは更新時にnullを送信します

jqgridドキュメントをよれば、IはPOSTDATA変数を使用してこれを処理しなければならない:

POSTDATA:{POINIT:jQueryの( '#1 POINIT')の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} 
); 

}); 

任意の助けいただければ幸いです。

+0

これは私にとってはうまくいくので、グリッドの初期化中であると思うものを設定していないか、または上書きしていると思われます。私はpostDataが失敗するのを見たことがありません。上記のように設定します。 val()の結果をデバッグしてください! –

答えて

7

私は道遅れてこの返事を持つんだけど、トリックは、関数を使用することです:

POSTDATA:{POINIT:機能(){リターン$( '#のPOINITを')のval(); }}

+0

私は同じ問題を抱えていて、これが修正されました。ありがとう! – Rismo

関連する問題