我在表單中使用一個非常簡單的RadioGroup。我的表單通過form.loadRecord()方法填充記錄,後來根據form.updateRecord()中的值更新記錄。它的工作原理,我可以加載記錄並保存它們,在這一點上沒有問題。ExtJS 4,問題始終是「髒」的radiogroup
當我想檢查窗體的髒狀態,使用其方法isDirty()時,出現問題。它總是'真'。我基本知道爲什麼,那是因爲RadioGroup的原始值總是等於「0」,而不是由loadRecord()設置(它只是將值應用於adhoc radiogroup的子節點)。 。
- > form.getFields()項[10] .originalValue =評分: 「0」
- > form.getFields()項[10] .getValue() =評分:「 3「
我應該補充說其他字段都是髒的(trackResetOnLoad在窗體上設置爲true,允許在載入記錄時重置窗體)。這個問題只發生在radiogroup上。
這裏是我使用的radiogroup的代碼。我試圖爲radiogroup添加「name:'Rating'」,但它崩潰了(顯然它在ExtJS 3.x中工作)。
xtype : 'radiogroup',
fieldLabel: 'Rating',
items: [
{
boxLabel : 'Zero',
name : 'Rating',
inputValue: "0"
}, {
boxLabel : 'One',
name : 'Rating',
inputValue: "1"
}, {
boxLabel : 'Two',
name : 'Rating',
inputValue: "3"
}
]
感謝您的幫助!
爲什麼你需要知道表單是否爲dirty()或不?我認爲這可以幫助我回答你的問題。 – dmackerman
在**表單數據加載之前它是髒的嗎?我猜不是 – JamesHalsall
dmackerman>我實際上列出了dirtychange事件以啓用/禁用保存按鈕。 – TigrouMeow