嗨, 我只是试图设置一个字段值,并在同一时间禁用它。 这可以在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