実際には、下のウィンドウでフォームを作成するExtJsスクリプトがあります。
var frmAccount = Ext.create('Ext.form.Panel',{
bodyPadding: 5,
frame : true,
items :[
{
xtype : 'textfield',
fieldLabel : 'Account Number',
name : 'accountNum'
},{
xtype : 'textfield',
fieldLabel : 'Company',
name : 'company'
},{
xtype : 'textfield',
fieldLabel : 'Office',
name : 'office'
},{
xtype : 'textareafield',
fieldLabel : 'Address',
name : 'address',
width : 350
},{
xtype : 'textfield',
fieldLabel : 'City',
name : 'city'
},{
xtype : 'textfield',
fieldLabel : 'Country',
name : 'nation'
}]
});
var winAddAccount = Ext.create('widget.window',{
id : 'addAccount',
title : 'Filter Record',
width : 400,
height : 300,
modal : true,
closeAction : 'hide',
items : frmAccount,
layout : 'fit',
bodyPadding: 5,
buttons:[
{
text : 'Find',
handler: function(){
//console.log(form value);
}
},
{
text : 'Cancel',
handler: function(){
winAddAccount.hide();
}
}
]
});
「検索」ボタンをクリックした後、フォームから値を取得したいだけです。しかし、[検索]ボタンをクリックした後、フォームから値を取得する方法がわかりません。うまくいけば、console.log
ハンドラーのスクリプト。親切に私がアイデアを解決または提案するのを手伝ってください。ありがとう。
これを試して
text : 'Find',
handler: function(btn){
var win = btn.up('window'),
form = win.down('form');
console.log(form.getForm().getValues());
}
さらに、senchaから提供されているtutorialsに目を通し、[〜#〜] api [〜#〜]例もたくさん含まれています
特定のフィールドの値のみを取得するには、次のようにします(この例では、フィールドが存在すると想定しています)。
text : 'Find',
handler: function(btn){
var win = btn.up('window'),
form = win.down('form');
console.log(form.getForm().findField('NamePropertyValue').getSubmitValue() /*or call getSubmitData() or just getValue()*/);
}
handler: function(button) {
var form = button.up('form').getForm();
console.log(form.getValues());
// ...
}