2012-04-19 12 views
7

Desidero chiamare il pulsante clic nella funzione inserimento testo.Campo Testo ExtJS Immetti chiave dopo aver fatto clic sul pulsante esterno

items: [ 
{ 
    xtype: 'form', 
    id: 'myForm', 
    items: [ 
    { 
     xtype: 'textfield', 
     id: 'myTextField', 
     listeners: { 
      specialkey: function(f,e){ 
       if(e.getKey() == e.ENTER){ 
        console.log('Spacial Key = Enter'); // It's working 
        // But i wanna click btnSearch button click event 
      } 
      } 
     } 
    } 
    ], 
    buttons: [ 
     { 
      text: 'Search', 
      id: 'btnSearch', 
      handlers: function(){ 
       // bla bla 
       // bla bla 
       // ... 
      } 
     } 
    ] 
} 
] 

var myform = Ext.getCmp('myForm'); 
myForm.getForm().submit() 

Sta funzionando, ma la funzione btnSubmit.click non funziona

risposta

1
Ext.getCmp('btnSearch').focus(); 

Non penso che ma il suo lavoro per me :)

Grazie per tutto lavoro

1

Sarà più facile per creare un metodo come doSearch() e chiamare questo metodo da entrambi i gestori.

1

A seconda che si ambito si può provare questo:

Ext.getCmp("btnSearch").handler.call(Ext.getCmp("btnSearch").scope); 
+0

lo provo ma io uso in attesa di me ssage sulla ricerca e usa la funzione form.submit(). è stato cliccato ma non ha inviato il modulo. ma .focus() funziona per me. grazie –

1

questo codice:

{ 
          fieldLabel : 'Password', 
          name : 'j_password', 
          inputType : 'password', 
          allowBlank : false, 
          listeners : { 
           'render' : function(cmp) { 
            cmp.getEl().on('keypress', function(e) { 
             if (e.getKey() == e.ENTER) { 
              submitform(); 
             } 
            }); 
           } 
          } 
    } 
Problemi correlati