关于extjs的一个方法的信息

本文目录一览:

extjs怎么自定义函数

extjs的自定义事件主要分三步

1.在类中定义事件名称:

Person = function(config) {

Person.superclass.constructor.call(this, config);

this.name = config.name || ”;

this.sex = config.sex || ”;

this.addEvents({

“nameChange”: true,

“sexChange”: true

});

};

2.实例化对象,并在该对象中定义事件的监听函数

var person = new Person({

name: ‘binoruv’,

sex: ‘man’

});

person.on(“nameChange”, function() { alert(“Name has been changed to ” + this.name); });

person.on(“sexChange”, function() { alert(“Sex has been changed to ” + this.sex); });

3.触发事件

Ext.extend(Person, Ext.util.Observable, {

//extend函数中可以自定义新的方法,也可以重写原类的方法

setName: function(_name) {

if (this.name != _name) {

this.name = _name;

this.fireEvent(“nameChange”, this);

}

},

setSex: function(_sex) {

if (this.sex != _sex) {

this.sex = _sex;

this.fireEvent(“sexChange”, this);

}

}

});

person.setName(“binoruv”);

person.setSex(“woman”);

整个代码如下:

script type=”text/javascript”

Person = function(config) {

/*

此处addEvents是调用Person父类Ext.util.Observable的方法

api中对Observable的描述:一个抽象基类(Abstract base class),为事件

机制的管理提供一个公共接口。子类应有一个”events”属性来

定义所有的事件。

*/

Person.superclass.constructor.call(this, config);

this.name = config.name || ”;

this.sex = config.sex || ”;

this.addEvents({

“nameChange”: true,

“sexChange”: true

});

};

Ext.extend(Person, Ext.util.Observable, {

setName : function(_name) {

if (this.name != _name) {

this.name = _name;

this.fireEvent(“nameChange”, this);

}

},

setSex : function(_sex) {

if (this.sex != _sex) {

this.sex = _sex;

this.fireEvent(“sexChange”, this);

}

}

});

Ext.onReady(function() {

var person = new Person({

name: ‘binoruv’,

sex: ‘Man’

});

person.on(“nameChange”, function() { /*debugger;*/Ext.Msg.alert(“Message”,”Name has been changed to ” + this.name); });

person.on(“sexChange”, function() { /*debugger;*/Ext.Msg.alert(“Message”, “Sex has been changed to ” + this.sex); });

person.setName(“binoruv”);

person.setSex(“Woman”);

});

/script

ExtJs中怎么上传文件

下面为大家介绍在ExtJs中上传文件的几种方法

第一种方法:传统的上传方式

在formpanal中增加一个fileUpload的属性

例子代码:

JScript 代码 复制

Ext.onReady(function(){

var form = new Ext.form.FormPanel({

renderTo:’file’,

labelAlign: ‘right’,

title: ‘文件上传’,

labelWidth: 60,

frame:true,

url: 服务器处理上传功能的url地址,//fileUploadServlet

width: 300,

height:200,

fileUpload: true,

items: [{

xtype: ‘textfield’,

fieldLabel: ‘文件名’,

name: ‘file’,

inputType: ‘file’//文件类型

}],

buttons: [{

text: ‘上传’,

handler: function() {

form.getForm().submit({

success: function(form, response){

Ext.Msg.alert(‘信息’, response.result.msg);

},

failure: function(){

Ext.Msg.alert(‘错误’, ‘文件上传失败’);

}

});

}

}]

});

});

第二种方法:借助Ext.ux.UploadDialog.Dialog的组件,在编码时需要导入两个文件

需要引入 Ext.ux.UploadDialog 样式文件 和 Ext.ux.UploadDialog.packed脚本文件。

例子代码

//在使用此方法进行文件上传时,其后台往页面的返回值类型是这样的:

//{‘success’:true,’message’:’上传成功’}

//如果没有success:true,无论上传成功与否,显示的都是上传失败,其实这个和form.submit()的提交方式是一个道理。

var dialog = new Ext.ux.UploadDialog.Dialog({

autoCreate: true,

closable: true,

collapsible: false,

draggable: true,

minWidth: 400,

minHeight: 200,

width: 400,

height: 350,

permitted_extensions:[‘JPG’,’jpg’,’jpeg’,’JPEG’,’GIF’,’gif’,’xls’,’XLS’],

proxyDrag: true,

resizable: true,

constraintoviewport: true,

title: ‘文件上传’,

url:用于处理上传文件功能的Url,

reset_on_hide: false,

allow_close_on_upload: true ,

upload_autostart: false

});

//定义上传文件的按钮

var btnShow = new Ext.Button({

text:’上传文件’,

listeners:{

click:function(btnThis,eventobj){

dialog.show();

}

}

});

extjs函数调用方法

当前this所引用的作用域已经改变了,可简单修改为

init: function() {

var me = this;//保存作用域

this.control({

‘userlist textfield[id=searchId]’:{

keyup:function(textfield, e){

if (e.getKey() == 13) {

me .searchUserByEnter(textfield); //调用原作用域方法

}

}

}

}

规范点可参照extjs写成scope参数控制this

原创文章,作者:TMFC,如若转载,请注明出处:https://www.506064.com/n/133496.html

(0)
TMFCTMFC
上一篇 2024-10-03
下一篇 2024-10-03

相关推荐

发表回复

登录后才能评论