2014-02-10 35 views
0

我有一個窗體,它在單擊我的網格中的公司後顯示信息。 這是我對電網clickevent處理程序:Dirtychange在一個窗體中更改事件

var onCompanyGridClickHandler = function (grid, rec) { 


      Ext.Ajax.request({ 
       url: '../GetCompany', 
       params: { id: rec.get('id') }, 
       success: function (res) { 
        //Fill Fields with values 
        companyFormValues = JSON.parse(res.responseText); 
        companyInfoFormPanel.getForm().setValues(companyFormValues); 
       } 
      }); 

    }; 

所以每次我點擊網格,形式獲得新的價值。 我怎樣才能實現一個骯髒的更改監聽器,這讓我想起,當我更改表單值時,保存更改。

我試圖在網格上的beforeclick事件中觸發isdirty,但它不起作用,並且我得到的所有內容都是變化的每個表單上的dirtychange。

回答

1

這應該工作。

var onCompanyGridClickHandler = function (grid, rec) { 
     form = companyInfoFormPanel.getForm(); 
     if(!form.isDirty()){ 
      Ext.Ajax.request({ 
      url: '../GetCompany', 
      params: { id: rec.get('id') }, 
      success: function (res) { 
       //Fill Fields with values 
       companyFormValues = JSON.parse(res.responseText); 
       companyInfoFormPanel.getForm().setValues(companyFormValues); 
      } 
      }); 
     } 
     else{ 
      Ext.Msg.alert("Warning", "Please save the data!!") 
     } 
     }; 

簡單Working fiddle僅供參考。

失蹤trackResetOnLoad:真

更新小提琴:Updated

+0

還是同樣的問題。在不更改表單的情況下,我收到警報。 – Paparis

+0

@ tritrotrash,它的工作檢查更新的答案。:-) – Dev

+0

耶!大!非常感謝! – Paparis

相關問題