2010-03-15 60 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 
} 
相关问题