ドロップダウンリストがあります。ドロップ ダウンから日付オプションを選択すると、テキスト ボックスのユーザー入力は mm/dd/yyy の形式である必要があります。それ以外の場合は、アラートをスローします。ext jsで同じことを達成するための提案。
4575 次
3 に答える
2
シッダールス、
これを見てください。フレームワークに従って、このコードを最適化できます。あなたの質問の例を次のように作成しました。
var dateVar = {
xtype : 'datefield',
name : 'name',
fieldLabel: 'Date',
emptyText: 'mm/dd/yyyy',
altFormats: 'm/d/Y',
submitFormat: 'm/d/Y',
format: 'm/d/Y',
listeners: {
blur: function(field) {
if( ! field.isValid()) {
alert('Date is invalid!');
}
}
}
};
Ext.create('Ext.form.Panel',{
id : 'editTask',
renderTo : Ext.getBody(),
items : [{
xtype : 'combo',
name : "type",
fieldLabel : 'Type',
store : ['DATE', 'NUMBER', 'TEXT'],
width : 500,
emptyText : "Select..",
listeners : {
change : selectionChanged
}
}, {
xtype: 'fieldcontainer',
id : 'datefiledContainer',
}]
});
function selectionChanged(combo){
var dateVarCont = Ext.getCmp("datefiledContainer");
dateVarCont.removeAll();
if(combo.value == "DATE"){
dateVarCont.add([dateVar]);
}else{
var field = {
xtype : combo.value.toLowerCase() + "field",
name : combo.value,
fieldLabel : combo.value,
width : 500
}
dateVarCont.add([field]);
}
};
次のリンクで実際の例を見つけることができます。
http://jsfiddle.net/narendrakurapati/gDYYw/5/
ありがとうございました、
ナンドゥ
于 2013-08-14T04:56:21.130 に答える