--wayfoon
开发中,通常需要新建窗口,比如登陆窗口,新增窗口。
新建窗口使用到Ext.Window提供的类,
你可以先预览效果:效果图
建立一个简单的窗口:
-
varwin=newExt.Window({
-
id:'w',
-
title:'wayfoon:新窗口',
-
width:300,
-
height:140,
-
collapsible:true,
-
layout:'column',
-
items:[]
- }).show();//让窗口显示出来
上面只定义了窗口的名称、长、宽、布局方式,其他属性之后详细描述。你可以在items里面增加你需要的内容。
比如你可以直接在items里面添加html代码:
-
items:[{
-
xtype:'panel',//html代码容器
-
html:"姓名:<inputtype='text'name='wayfoon'onclick='javascript:alert(wayfoon)'/>"
- }]
在这里,我将演示添加一个form表单。
先新建一个form。
form由Ext.form.FormPanel定义
一个标准的form定义
-
varfrom=newExt.form.FormPanel({
-
bodyStyle:'padding-top:5px',
-
id:'f',
-
labelWidth:50,
-
labelAlign:'right',
-
labelPad:0,
-
layout:'form',
-
frame:true,
-
defaults:{
-
width:200
-
},
-
defaultType:'textfield',
-
items:[{
-
id:'workid',
-
cls:'user',
-
fieldLabel:'编号',
-
-
allowBlank:false
-
},{
-
id:'workname',
-
fieldLabel:'名称',
-
allowBlank:false
-
}],
-
buttonAlign:'center',
-
buttons:[{
-
text:'确定',
-
type:'submit',
-
handler:function(){
-
}
-
}]
-
-
})
-
现在可以将form加入到窗口中,items:[form] 就可以!
这样显示的窗口不是很美观,我们可以做些调整。将按钮放到表单之外,也就是放在窗口下面。
这样,修改之后的窗口,
-
varwin=newExt.Window({
-
id:'w',
-
renderTo:bd,
-
title:'wayfoon:新窗口',
-
width:300,
-
height:140,
-
collapsible:true,
-
defaults:{
-
-
border:true
-
},
-
-
layout:'column',
-
items:[form],
-
buttonAlign:'center',
-
buttons:[{
-
text:'确定',
-
type:'submit',
-
handler:function(){
-
}
-
}]
-
}).show();
-
一个新窗口,基本完成!
可以将下面代码保存成*.htm执行。
所有代码:
-
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN">
-
<html>
-
<head>
-
<title>wayfoon:新窗口</title>
-
-
<linkrel="stylesheet"type="text/css"href="http://www.bsshenghua.com/ext22/resources/css/ext-all.css"/>
-
<scripttype="text/javascript"src="http://www.bsshenghua.com/ext22/adapter/ext/ext-base.js"></script>
-
<scripttype="text/javascript"src="http://www.bsshenghua.com/ext22/ext-all.js"></script>
-
-
-
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312"></head>
-
-
<body>
-
<script>
-
Ext.onReady(function(){
-
Ext.QuickTips.init();//初始化鼠标停留时的显示框
-
Ext.form.Field.prototype.msgTarget='side';
-
varbd=Ext.getBody();
-
-
varform=newExt.form.FormPanel({
-
bodyStyle:'padding-top:5px',//距离窗口上端的距离
-
id:'ll',
-
labelWidth:50,//文本部分的宽度
-
labelAlign:'right',//文本的排列方式
-
labelPad:0,//文本和输入框之间的距离
-
layout:'form',//布局方式
-
frame:true,
-
defaults:{//字元素默认的属性
-
width:200
-
},
-
defaultType:'textfield',//默认的input类型
-
items:[{
-
id:'workid',
-
cls:'user',
-
fieldLabel:'编号',
-
//disabled:true,
-
allowBlank:false//是否允许为空
-
},{
-
id:'workname',
-
fieldLabel:'名称',
-
allowBlank:false
-
}]
-
-
})
-
-
varwin=newExt.Window({
-
id:'w',
-
renderTo:bd,
-
title:'wayfoon:新窗口',
-
width:300,
-
height:140,
-
collapsible:true,//是否可折叠
-
defaults:{
-
//容器内元素是否显示边框
-
border:true
-
},
-
//layout:'fit',
-
layout:'column',
-
items:[form],
-
buttonAlign:'center',//按钮的排列方式
-
buttons:[{//按钮写在窗口,要比写在form里面好看多了
-
text:'确定',
-
type:'submit',
-
handler:function(){
-
}
-
}]
-
}).show();
-
-
-
});
-
</script>
-
</body>
-
</html>
效果图:
如果你想在按钮触发时,添加事件
-
handler:function(){
-
alert(123);
-
varworkid=Ext.get('workid').dom.value;
-
alert(workid);
- }
下面演示一个submit登陆事件,
你也可以单独定义一个方法(调用方法,handler:login):
-
-
varlogin=function(){
-
var workid=Ext.get('workid').dom.value;
alert("wayfoon:"+workid);
-
-
-
-
-
f.form.submit({
-
-
-
-
url:'/xxx/login.jsp',
-
-
method:'POST',
-
-
success:function(form,action){
-
-
window.location.href='main.htm?t='+newDate();
-
-
},
-
-
failure:function(form,action){
-
if(action.failureType==Ext.form.Action.SERVER_INVALID)
-
Ext.MessageBox.alert('警告',action.result.errors.msg);
-
}
-
});
-
};
-
login 方法要在调用之前定义好。
完整的代码如下:
-
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.0Transitional//EN">
-
<html>
-
<head>
-
<title>wayfoon:新窗口</title>
-
-
<linkrel="stylesheet"type="text/css"href="http://www.bsshenghua.com/ext22/resources/css/ext-all.css"/>
-
<scripttype="text/javascript"src="http://www.bsshenghua.com/ext22/adapter/ext/ext-base.js"></script>
-
<scripttype="text/javascript"src="http://www.bsshenghua.com/ext22/ext-all.js"></script>
-
-
-
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312"></head>
-
-
<body>
-
<script>
-
Ext.onReady(function(){
-
Ext.QuickTips.init();//初始化鼠标停留时的显示框
-
Ext.form.Field.prototype.msgTarget='side';
-
varbd=Ext.getBody();
-
-
varform=newExt.form.FormPanel({
-
bodyStyle:'padding-top:5px',//距离窗口上端的距离
-
id:'ll',
-
labelWidth:50,//文本部分的宽度
-
labelAlign:'right',//文本的排列方式
-
labelPad:0,//文本和输入框之间的距离
-
layout:'form',//布局方式
-
frame:true,
-
defaults:{//字元素默认的属性
-
width:200
-
},
-
defaultType:'textfield',//默认的input类型
-
items:[{
-
id:'workid',
-
cls:'user',
-
fieldLabel:'编号',
-
//disabled:true,
-
allowBlank:false//是否允许为空
-
},{
-
id:'workname',
-
fieldLabel:'名称',
-
allowBlank:false
-
}]
-
-
})
-
//单击按钮时执行登陆操作
-
varlogin=function(){
-
varworkid=Ext.get('workid').dom.value;
-
alert("wayfoon:"+workid);
-
/**
-
这里可以判断输入的值是否合法。否则不执行下面的submit
-
**/
-
//执行当前表单面板的submit
-
form.form.submit({
-
//动作发生期间显示的文本信息
-
waitMsg:'正在登录......',
-
//submit发生时指向的地址
-
url:'/mktweb/login.jsp',
-
//表单提交方式
-
method:'POST',
-
//数据验证通过时发生的动作
-
success:function(form,action){
-
//成功走向
-
window.location.href='main.htm?t='+newDate();
-
-
},
-
//反之......
-
failure:function(form,action){
-
//reset();
-
if(action.failureType==Ext.form.Action.SERVER_INVALID)
-
Ext.MessageBox.alert('警告',action.result.errors.msg);
-
}
-
});
-
};
-
varwin=newExt.Window({
-
id:'w',
-
renderTo:bd,
-
title:'wayfoon:新窗口',
-
width:300,
-
height:140,
-
collapsible:true,//是否可折叠
-
defaults:{
-
//容器内元素是否显示边框
-
border:true
-
},
-
//layout:'fit',
-
layout:'column',
-
items:[form],
-
buttonAlign:'center',//按钮的排列方式
-
buttons:[{//按钮写在窗口,要比写在form里面好看多了
-
text:'确定',
-
type:'submit',
-
handler:login
-
}]
-
}).show();
-
-
-
});
-
</script>
-
</body>
-
</html>
预览效果:效果图
分享到:
相关推荐
3. **EXT2.0中文教程.exe**: 这可能是一个以可执行文件(.exe)形式的中文教学程序,对于中文用户来说非常友好。它可能包含了视频教程、交互式示例或者图文并茂的讲解,帮助学习者更直观地理解Ext 2.0的用法和功能。...
ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0
EXT2.0是EXT框架的一个重要升级版本,它在EXT1.0的基础上进行了大量的改进和增强,提供了更为丰富的组件、优化的性能以及更美观的界面效果。 EXT2.0的核心特性包括: 1. **组件库增强**:EXT2.0扩展了原有的组件库...
EXT2.0中文教程是一个专为Windows用户设计的教育资源,旨在帮助用户理解和操作EXT2.0文件系统。EXT2.0是Linux操作系统中早期广泛使用的日志式文件系统,它在1993年由Rene Rebe开发,作为EXT1的升级版。EXT2.0在性能...
6. **文件权限与所有权**:EXT2.0遵循Unix的权限模型,支持用户、用户组以及其他人三种权限,以及读、写和执行操作。 7. **软链接和硬链接**:EXT2.0支持软链接(符号链接)和硬链接,前者是一个指向另一个文件的...
ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记ext2.0笔记...
总的来说,EXT2.0和EXT2.3教程为学习者提供了全面的EXT开发知识,包括但不限于组件使用、布局设计、数据绑定、AJAX交互等方面。配合中文手册和源码,无论是入门还是深入研究,都能为开发者提供强有力的支持。通过...
1. **组件化**:EXT 2.0中的所有元素都是组件,如窗口、面板、表格、表单、菜单等,这些组件可以相互组合,构建出各种复杂的界面结构。组件具有独立的生命周期和事件处理机制,方便复用和维护。 2. **数据绑定**:...
extjs是从yui-ext发展来的一套ajax控件,在下认为它是当今最好用的js控件库了,非常有学习的价值。 如果没听说过extjs或者对extjs没有兴趣,请不要继续看下去。 extjs是一套完整的富客户端解决方案,也因为功能完整...
对于初次接触EXT的开发者,建议先从EXT2.0中文教程开始,逐步了解EXT的基本概念和使用方式,然后再通过ExtJS实用简明教程和开发指南深入学习,提升开发技能。在实践中不断探索和学习,能够更好地掌握EXT这一强大的...
这个教程和实例集主要涵盖了Ext2.0的基础知识、开发技巧以及实践应用,旨在帮助开发者快速掌握这一技术。 首先,让我们关注"Ext2.0的入门小实例"。这个部分可能包括了创建基本的用户界面元素,如窗口(Windows)、...
1. **组件化**:Ext 2.0基于组件的设计思想,允许开发者通过组合各种小部件来构建复杂的用户界面。这些组件可以是按钮、表单、面板、窗口等,每个组件都有其特定的功能和样式,可以单独使用或与其他组件组合。 2. *...
EXT2.0 简明教程 EXT2.0 是Linux操作系统中的一种文件系统,它在1993年由Rene Rebeau开发,并作为EXT(第二扩展文件系统)的改进版发布。EXT2.0在当时是Linux社区广泛使用的标准文件系统之一,尤其在早期的Linux...
EXT2.0简明教程是针对EXT JavaScript库的一个学习资源,EXT js是一个强大的前端开发框架,主要用于构建富互联网应用程序(RIA)。EXT2.0在当时是EXT库的一个重要版本,提供了许多新的特性和改进,使得开发者能够更...
1. **组件化**:Ext 2.0的核心是其组件模型,它允许开发者通过组合各种预定义的UI组件来构建复杂的用户界面。这些组件包括按钮、表单、面板、树视图、网格等,可以灵活地进行定制和扩展。 2. **数据绑定**:Ext 2.0...
EXT2.0的学习路径建议从基本的Element操作和事件处理开始,逐步掌握Widgets的使用,然后深入到Ajax和数据管理,最后研究源码以提升对EXT框架的整体理解。通过实践和查阅相关资源,如推荐的中文网站和书籍,可以加快...