如何在sencha touch中使用输入键提交登录表单
问题描述:
我正在使用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'
}]
}
});
答
{
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()
}
}
答
使用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
}
}
}
}
感谢您的答复,但在按不满足,如果条件输入button.Getting在密码键码字段....因此无法写入登录代码.... – 2014-12-05 10:56:44
那么你在键码中得到什么。它在我的项目中工作。 – 2014-12-05 11:25:28
能够在输入键之外的密码字段上获得键码...在点击'a'时显示65 ... – 2014-12-05 12:16:43