良い一日!ボタンがクリックされたときに、フォーム上の要素に readOnly オプションを設定する (true または false) メソッドを作成しようとしています。
Ext.override(Ext.form.Panel,{
setReadOnly: function(bReadOnly) {
this.items.each(function(f){
if (f instanceof Ext.form.FieldSet) {
f.items.each(function (f) {
if (f.isFormField) {
if (bReadOnly === true) {
f.inputEl.dom.setAttribute('readonly', true);
} else {
f.inputEl.dom.removeAttribute('readonly');
}
if (f instanceof Ext.form.TriggerField)
{
f.setDisabled(bReadOnly);
if (f instanceof Ext.form.ComboBox)
{
f.setEditable(bReadOnly);
}
}
}
});
}
});
});
テキストフィールドでは、このコードは完璧に機能します。しかし、TriggerField では、readOnly オプションを false に設定すると、トリガーを表示できません。