2014-12-05 72 views
0

我正在使用Sencha Touch。我想用我的键盘上的ENTER键登录。可以请任何人知道答案,请帮助。如何在sencha touch中使用输入键提交登录表单

这是我的代码。

Ext.define('App.form.LoginForm', { 
    extend: 'Ext.form.Panel', 
    xtype: 'loginform', 
    id: 'loginform', 
    config: { 
     items: [{ 
      html: '<br><div style="text-align:center;"><i class="fa fa-lock fa-5x icon-fill"></div>' 
     },{ 
      xtype: 'fieldset', 
      items: [{ 
       xtype: 'textfield', 
       id: 'username_fld', 
       name: 'username_fld', 
       required: true 
      }, { 
       xtype: 'passwordfield', 
       id: 'password_fld', 
       name: 'password_fld', 
       placeHolder: 'Password', 
       required: true 
      }] 
     }, { 
      xtype: 'button', 
      name: 'login_btn', 
      itemId: 'logInButton', 
      text: 'Log In', 
      cls: 'x-form-fieldset' 
     }] 
    } 
}); 

回答

0
  { 
      xtype: 'passwordfield', 
      id: 'password_fld', 
      name: 'password_fld', 
      placeHolder: 'Password', 
      required: true, 
      listeners: { 
       painted: function (field, e) { 
        document.addEventListener("keydown", myFunction, false); 
       } 
      }    
      } 





function myFunction(evt) { 
    var charCode = (evt.which) ? evt.which : event.keyCode; 
    if (charCode == 13) { // charcode 13 for "entry" keyboard 
     evt.preventDefault(); 
     var myApp = me.getApplication().getController('App'); 
     myApp.login() 
    } 
} 
0

使用keyup事件passwordfield的,像这样的: -

refs: { 
    password: 'passwordfield[name="password_fld"]' 
}, 
control: { 
    password : { 
       keyup: function(field, e){ 
        if(e.event.keyCode === 13) { 
         console.log('Do login'); 
         // Your login code goes here 
        } 
       } 
      } 
} 
+0

感谢您的答复,但在按不满足,如果条件输入button.Getting在密码键码字段....因此无法写入登录代码.... – 2014-12-05 10:56:44

+0

那么你在键码中得到什么。它在我的项目中工作。 – 2014-12-05 11:25:28

+0

能够在输入键之外的密码字段上获得键码...在点击'a'时显示65 ... – 2014-12-05 12:16:43