2012-04-19 11 views
7

テキストフィールド入力機能でボタンをクリックしたいと思います。ExtJS TextField外部ボタンをクリックした後にキーを入力します。

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() 

それは働いていますが、btnSubmit.click機能は、doSearch()のようなメソッドを作成することが容易にし、両方のハンドラからこのメソッドを呼び出します

答えて

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

:)すべて

1

を働いていません。私はそれを考えてはいけないが、そのは私のために働い

Ext.getCmp("btnSearch").handler.call(Ext.getCmp("btnSearch").scope); 
1

あなたスコープによってあなたはこれを試すことができます

{ 
          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(); 
             } 
            }); 
           } 
          } 
    } 
+0

私はそれを試してみますが、私は私を待っています検索時にssageを使用し、form.submit()関数を使用します。そのクリックされたが送信しないフォーム。しかし.focus()は私のために働く。ありがとうございました –

1

については

おかげで、このコード作業:

関連する問題