我刚刚开始使用 sencha touch 2 构建应用程序我试图提交一个我现在所做的我想在提交表单时显示一个加载掩码。我怎么能点那个?我尝试了几种方法都没有成功。
Ext.define('AddressBook.view.Login', {
extend: 'Ext.form.Panel',
xtype: 'login',
requires: ['Ext.form.*'],
config: {
xtype: 'formpanel',
title: '<img src="resources/images/logo.png" width="180px"/> ',
iconCls: 'user',
layout: 'vbox',
style: 'border:none;',
items: [
{
xtype: 'fieldset',
title: 'Service Seeker Login',
scrolable: true,
items: [{
xtype: 'emailfield',
name: 'useremail',
placeHolder: 'Username or Email',
allowBlank: false
}, {xtype:'spacer', style: 'background-color: #EEE; height:20px; border:none;'}, {
xtype: 'passwordfield',
name: 'password',
placeHolder: 'Password',
allowBlank: false
},{xtype:'spacer', style: 'background-color: #EEE; height:20px; border:none;'},{
xtype: 'checkboxfield',
name : 'Remember',
labelWidth: '80%' ,
label: 'Remember me',
value: 'remember'
}, {
xtype: 'hiddenfield',
name: 'type',
value: 'user'
}]
}, {
xtype: 'button',
text: 'LOGIN',
id: 'LoginButon',
ui: 'confirm',
width: '75px',
handler: function () {
//iniate loading screen for user
var myMask = new Ext.LoadMask(Ext.getBody(), {msg:"Please wait..."});
var form = this.up('formpanel');
var values = form.getValues();
if (values.useremail && values.password) {
form.submit({
url: 'http://mysite/mobilelogin',
method: 'POST',
success: function (form, result) {
if (result.go) {
myMask.show();
localStorage.setItem('userName',values.useremail);
var indexPanel = Ext.create('AddressBook.view.Contacts');
Ext.Viewport.add(indexPanel);
Ext.Viewport.setActiveItem(indexPanel,{type: 'slide', direction: 'right'});
}
},
failure: function (form, result) {
Ext.Msg.alert('', result.message);
}
});
} else {
Ext.Msg.alert('Error', 'Both username and password are required.');
}
}
}
}]
});
我也在sencha网站上发布了这个。 http://www.sencha.com/forum/showthread.php?190430-Simple-Form-example-with-Ajax-or-Connection-to-backend&p=851571#post851571