1

行に追加したボタンは、ボタンのonclickメソッドで追加しないように指定した場合でもポストバックします(onclick ='return false;')。グリッドがポストバックをしていると思いますか?ポストバックを防ぎ、独自のカスタムポップアップフォームを表示するようにしています。

gridComplete: function(){ 
 var ids = $('#jqGridControl1').jqGrid('getDataIDs'); 
 for(var i=0;i < ids.length;i++){ 
 var rowid = ids[i]; 
 de = "<input type='image' title='Delete this record.' src='../images/icn_delete.gif' onclick=' return false;' style='border-width:0px;'/>"; 
 ee = "<input type='image' title='Edit this record.' src='../images/icn_edit.gif' onclick=' return false;' style='border-width:0px;' />"; 
 ve = "<input type='image' title='View related information.' src='../images/house.gif' onclick='return false;' style='border-width:0px;' />"; 
 pe = "<input type='image' title='Print' src='../images/icn_printer.gif' onclick=' return false;' style='border-width:0px;' />"; 
 je = "<input type='image' title='Appointment' src='../images/icn_journal.gif' onclick=' return false;' style='border-width:0px;' />"; 
 se = "<input type='image' title='Select' src='../images/icn_select.gif' onclick=' return false;' style='border-width:0px;' />"; 
 jQuery('#jqGridControl1').jqGrid('setRowData',ids[i],{act:de+ee+ve+pe+je+se}); 
 } 
4

1 に答える 1

0

これについてさらに作業した後、FFとSafariで機能することがわかりました。問題はIEでした。onclick='return false;' の代わりに onclick='event.returnValue=false; に変更しました。false を返す;' そしてそれはうまくいきました。それがなぜなのかわかりません。onclick='return false;' を使用して HTML で入力タグを記述した場合 それは正常に動作します。クライアントでオンザフライで行が生成されると、なぜ異なるのかわかりません。

于 2010-04-23T19:30:41.660 に答える