2010-03-15 56 views
2

嗨, 我只是試圖設置一個字段值,並在同一時間禁用它。 這可以在ext js中完成嗎?該主題的文檔非常薄弱。Ext JS - 我可以在字段上「鏈接」方法嗎?

是這樣產生的錯誤:

myForm.getForm().findField('start_date').setValue('').setDisabled(true); 

我已經習慣了它的JQuery做這樣的事情,但很好還沒有運氣分機。

感謝您的任何幫助。

回答

0

這是因爲setValue()方法不返回字段對象。你不能以這種方式使用setDisabled()。

編輯:(對於那些向下投票白癡)

從ExtJS的文檔:

method: setValue(value) 

Parameters: 
value : Mixed 
The value to set 

Returns: 
void 
+0

謝謝你們,我會找出另一種方式。 – 29er 2010-03-15 23:56:29

2

其實,Field.setValue事實上確實返回參照場(docs),所以你應該能夠如您所願,致電setDisabled(繼承自Component)。你必須有其他問題。也許findField('start_date')返回null。你必須確保所有的返回值都是你期望的。使用Firebug找出錯誤,或者分解你的語句,看看哪個調用實際上失敗了。

只要返回值是對象本身(通常在文檔中表示爲this),任何事物都是「可鏈接的」。在jQuery中,所有東西都在DOM元素上運行,所以它是一致的。在Ext中,你有很多具有各種行爲的組件。有時候,鏈接是有意義的,有時候鏈接是不行的 - 只要確保在不確定的時候檢查文檔。

0

我同意bmoeskau它應該工作,如果該字段在那裏,並通過形式找到。我會建議你這樣做,以防止錯誤:

var field = myForm.getForm().findField('xyz'); 
if(field !== undefined) 
{ 
    field.setValue(''); 
    field.setDisabled(true); 
} 
else 
{ 
    // Error Handling 
} 
相關問題