私は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}
);
});
任意の助けいただければ幸いです。
これは私にとってはうまくいくので、グリッドの初期化中であると思うものを設定していないか、または上書きしていると思われます。私はpostDataが失敗するのを見たことがありません。上記のように設定します。 val()の結果をデバッグしてください! –