web-dev-qa-db-fra.com

Comment obtenir des valeurs de la forme Ext

En fait, j'ai un script ExtJs pour créer un formulaire avec une fenêtre ci-dessous.

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();
        }
    }
    ]
});

Je veux juste obtenir des valeurs du formulaire après avoir cliqué sur le bouton "Rechercher". Mais je ne sais pas comment obtenir des valeurs du formulaire après avoir cliqué sur le bouton "Rechercher". J'espère que je pourrai voir la valeur avec le script console.log sur le gestionnaire. Veuillez m'aider à résoudre ou à suggérer une idée. Merci.

9
user1875301

essaye ça

text    : 'Find',
handler: function(btn){
    var win = btn.up('window'),
        form = win.down('form');
    console.log(form.getForm().getValues());
}

Et en plus, je vous recommande de regarder à travers les tutorielsfournis par sencha et de jeter un coup d’œil sur leAPIqui contient également de nombreux exemples.

Pour obtenir uniquement la valeur d'un champ spécifique, faites (cet exemple suppose que le champ existe!)

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()*/);
}
25
sra
handler: function(button) {
  var form = button.up('form').getForm();
  console.log(form.getValues());
  // ...
}
0
user3509105