2012-09-10 68 views
0

我有一個jqGrid表,與this problem相同,我從服務器加載信息,但本地存儲,因此我將選項數據類型設置爲'local'。刪除jqGrid中的行時發生運行時錯誤

我還設置了刪除按鈕來使用這個功能。它必須從數據庫和網格中刪除該行。

var grid = $('#grid'); 

    grid.jqGrid('navButtonAdd', '#pager', 
    { 
     caption: "", 
     buttonicon: "ui-icon-trash", 
     position: "first", 
     title: "Delete", 
     cursor: "pointer", 
     id: 'del_list', 

     onClickButton: function del(event) { 
      var rowID = grid.jqGrid('getGridParam', 'selrow'); 
      if (rowID === null) { 
       $('<div title="Error"><p>Error</p></div>').dialog({ 
        modal: true, 
        width: 350, 
        buttons: {Aceptar: function() { 
         $(this).dialog("close"); 
        }}, 
        dialogClass: "ui-jqdialog" 
       }); 
      } 
      else { 
       grid.jqGrid('delGridRow', rowID, 
       { 
        width: 400, 
        delicon: [true, "left", "ui-icon-cancel"], 
        cancelicon: [true, "left", "ui-icon-close"], 
        beforeShowForm: function (form) { 
         SetFormsSize('#delmodtGrid'); 
        }, 
        caption: "Delete", 
        msg: "asdasdasd", 
        onclickSubmit: function (params, postdata) { 

         var code = parseInt(grid.find('tr:eq(' + rowID + ')').find('td:eq(0)').text()); 
         var ver = parseInt(grid.find('tr:eq(' + rowID + ')').find('td:eq(2)').text()); 

         var add_data = {ProjectID: code, VersionID: ver}; 
         return add_data; 
        }, 
        afterComplete: function (response, postdata) { 
         if (response.responseText === "Success") { 
          $('<div title=""><p>asdasdas</p></div>').dialog({ 
           modal: true, 
           width: 400, 
           buttons: {Aceptar: function() { 
            $(this).dialog("close"); 
           }}, 
           dialogClass: "ui-jqdialog" 
          }); 
         } 
         else { 
          $('<div title="Error: ' + response.responseText + '"><p>asdasdasd</p></div>').dialog({ 
           modal: true, 
           width: 400, 
           buttons: {Aceptar: function() { 
            $(this).dialog("close"); 
           }}, 
           dialogClass: "ui-jqdialog" 
          }); 
         }      
        } 
       }); 
      }    
     } 
    }); 

我有一個操作服務器端,處理數據庫中的刪除。我有一個try-catch句子,它不會拋出任何異常。隨着Firebug,我得到了POST請求成功,以及響應(這是我添加了afterSubmit選項功能並檢查postdata)。所以我相信問題在於jqGrid的設置。

後它會通過服務器端代碼(和,當我設置,則afterSubmit事件被觸發後),這是錯誤我得到(譯自西班牙語):

運行時錯誤微軟JScript中:對象不接受財產或 方法 '分裂'

,這影響了線331 jquery.jqGrid.min.js,將文中的

if(d[e.p.id].reloadAfterSubmit&&e.p.datatype!="local") 
    a(e).trigger("reloadGrid"); 
else{ 
    var A=[]; 
    A=H.split(","); 
    ... 
} 

來自完整的功能。產生錯誤的部分是else子句的第二個句子。

回答

相關問題