2010-03-15 2 views
2

HI, 필드 값을 설정하고 동시에 사용하지 않도록 설정하려고합니다. ext js에서이 작업을 수행 할 수 있습니까? 이 주제에 관한 문서는 매우 약합니다. 이 같은Ext JS - 필드에 메서드를 연결할 수 있습니까?

뭔가 오류가 발생하는 경우를

내가 잘 이런 종류의 작업을 수행하지만, 내선으로 운이 없었어요 JQuery와 사용 해요
myForm.getForm().findField('start_date').setValue('').setDisabled(true); 

.

도움 주셔서 감사합니다.

답변

0

이는 setValue() 메소드가 필드 객체를 반환하지 않기 때문입니다. 그런 식으로 setDisabled()를 사용할 수 없습니다.

편집 : (그 아래로 투표 바보의 경우)

의 ExtJS 문서에서 : 당신은 할 수 있어야하므로

method: setValue(value) 

Parameters: 
value : Mixed 
The value to set 

Returns: 
void 
+0

고마워, 나는 다른 방법을 찾아 낼거야. – 29er

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 
}