2012-04-19 3 views
7

Tôi muốn gọi nút bấm trong hàm nhập văn bản.ExtJS TextField Nhập Khóa Sau khi Nhấp vào Nút Bên ngoài

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

Đó là làm việc nhưng btnSubmit.click chức năng không làm việc

Trả lời

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

Tôi không nghĩ rằng nó Nhưng thái hoạt động cho nhớ :)

Cảm ơn For All

1

Nó sẽ được dễ dàng hơn để tạo ra một phương pháp như doSearch() và gọi phương pháp này từ cả hai bộ xử lý.

1

Tùy thuộc vào phạm vi bạn, bạn có thể thử điều này:

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

tôi dùng thử nhưng tôi đang đợi tôi ssage trên tìm kiếm và sử dụng hàm form.submit(). biểu mẫu được nhấp nhưng không gửi. nhưng .focus() làm việc cho tôi. cảm ơn bạn –

1

mã này làm việc:

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