5
Ext 4,1'i kullanma Select combo ile bir form oluşturmak istiyorum ve seçili olan seçeneğe bağlı olarak farklı alt alanlar gösterilecek/gizlenecektir. Aşağıdaki Örnek: Açılan formda dinamik olarak gösterilen/gizli alanlara sahip Extjs Formu
Şu anda bir açılan ve işlemek üzerinde gizlidir iki tarih alanına bir dizi var. Birleşik değer değiştirildiğinde, bu alanları görüntüleyen bir olay dinleyicim var. Ama bunun üstesinden gelmenin en iyi yolu olup olmadığından emin değilim. Bir tarla bu durumda daha iyi çalışır mı? Bu doğrultudaExt.define('TooltipForm', {
extend: 'Ext.form.Panel',
layout: {
type: 'vbox',
align: 'stretch'
},
border: false,
bodyPadding: 10,
initComponent: function(){
this.on('afterrender', this.onAfterRender, this);
this.callParent(arguments);
},
onAfterRender: function(){
this.items.each(function(item){
item.on('change', this.onChange, this);
}, this);
},
onChange: function(field, newValue){
if (field.name === 'range'){
switch(newValue){
case 'fit':
console.log('fit view');
break;
case 'complete':
console.log('complete view');
break;
case 'date range':
console.log('date range view');
break;
}
}
},
fieldDefaults: {
labelAlign: 'top',
labelWidth: 100,
labelStyle: 'font-weight:bold'
},
items: [
{
width: 50,
xtype: 'combo',
mode: 'local',
value: 'fit',
triggerAction: 'all',
forceSelection: true,
editable: false,
fieldLabel: me.rangeFieldLabel,
name: 'range',
queryMode: 'local',
store: ['fit', 'complete', 'date range']
},
{
width:50,
xtype: 'datefield',
fieldLabel: 'date from',
name: 'datefrom',
hidden: true
},
{
width:50,
xtype: 'datefield',
fieldLabel: 'date to',
name: 'dateto',
hidden:true,
}
]
});
gösterme ve gizleme benim için bir sorun değildir. Sorunum, allowBlank ile gizli alanların yanlış olmasıdır: false, form.isValid() öğesinin false değerini döndürmesine neden olur. Doğrulama sürecine katılmayan gizli alanlara sahip olmanın bir yolu var mı? –
Alanı devre dışı bırakmak, onaylanmasını engeller. –