嗨, 我只是試圖設置一個字段值,並在同一時間禁用它。 這可以在ext js中完成嗎?該主題的文檔非常薄弱。Ext JS - 我可以在字段上「鏈接」方法嗎?
是這樣產生的錯誤:
myForm.getForm().findField('start_date').setValue('').setDisabled(true);
我已經習慣了它的JQuery做這樣的事情,但很好還沒有運氣分機。
感謝您的任何幫助。
嗨, 我只是試圖設置一個字段值,並在同一時間禁用它。 這可以在ext js中完成嗎?該主題的文檔非常薄弱。Ext JS - 我可以在字段上「鏈接」方法嗎?
是這樣產生的錯誤:
myForm.getForm().findField('start_date').setValue('').setDisabled(true);
我已經習慣了它的JQuery做這樣的事情,但很好還沒有運氣分機。
感謝您的任何幫助。
這是因爲setValue()方法不返回字段對象。你不能以這種方式使用setDisabled()。
編輯:(對於那些向下投票白癡)
從ExtJS的文檔:
method: setValue(value)
Parameters:
value : Mixed
The value to set
Returns:
void
其實,Field.setValue
事實上確實返回參照場(docs),所以你應該能夠如您所願,致電setDisabled
(繼承自Component)。你必須有其他問題。也許findField('start_date')
返回null。你必須確保所有的返回值都是你期望的。使用Firebug找出錯誤,或者分解你的語句,看看哪個調用實際上失敗了。
只要返回值是對象本身(通常在文檔中表示爲this
),任何事物都是「可鏈接的」。在jQuery中,所有東西都在DOM元素上運行,所以它是一致的。在Ext中,你有很多具有各種行爲的組件。有時候,鏈接是有意義的,有時候鏈接是不行的 - 只要確保在不確定的時候檢查文檔。
我同意bmoeskau它應該工作,如果該字段在那裏,並通過形式找到。我會建議你這樣做,以防止錯誤:
var field = myForm.getForm().findField('xyz');
if(field !== undefined)
{
field.setValue('');
field.setDisabled(true);
}
else
{
// Error Handling
}
謝謝你們,我會找出另一種方式。 – 29er 2010-03-15 23:56:29