`
wangmengbk
  • 浏览: 292358 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Ext布局

    博客分类:
  • Ext
阅读更多
这是Ext做的部分布局,请多多指教.
//定义一个选项的面板,并且放在右边的窗口中
var tabPanel=new Ext.TabPanel({
region:"center",
//activeTab:"",
resizeTabs:true,//True表示为自动调整各个标签页的宽度,以便适应当前TabPanel的候选栏的宽度(默认为false)
enableTabScroll:true,//此项设为true以出现标签页可滚动的功能。 只当标签页位于上方的位置时有效(默认为false)。
        titleCollapse:true,
        layoutOnTabChange:true,//True表示为每当Tab切换时就绘制一次布局.
       //collapsible:true,
       hideMode:"display",
       height:600,
       width:800,
       closable:true,
        autoScroll:true
});

//var p1=new Ext.Panel({title:"ain",
//             html:'fdsfsdfsdfsd',
//             id:'ccc',
//              closable:true});
//tabPanel.add(p1);
var north=new Ext.Panel({
region:"north",//上边
height:100,
html:"<img src='images/top.jpg'><a href='#'onclick='Login();'>登陆</a>&nbsp;&nbsp;&nbsp;<a>退出</a>"
});
var west=new Ext.Panel({
region:"west",//左边
width:150,
title:"详细",
htmle:"<b>ddddddddddd</b>",
split:true,//true表示具有分割功能
contentEl:"westTree",//现有HTML节点的id,用作面板body的内容 (缺省为 '')
collapsible:true//显示折叠功能
});
Ext.onReady(function(){
Ext.QuickTips.init();

var vieTable=new Ext.Viewport({
layout:"border",//类型
autoScroll:true,
height:700,
defaults:{
ativeItem:0
},
items:[north,west,tabPanel]
});

//定义根节点
var root=new Ext.tree.TreeNode({
id:"root",
text:"根节点"
});
//定义根节点下的子结点
var c1=new Ext.tree.TreeNode({
id:"c1",
text:"发表文章",
listeners:{//在该对象初始化时便加入多个事件处理函数
'dblclick':addForm
}
});
var c2=new Ext.tree.TreeNode({
id:"c2",
text:"文章管理",
listeners:{
'click':bkGril
}
});
var c3=new Ext.tree.TreeNode({
id:"c3",
text:"浏览文章"
});
var c4=new Ext.tree.TreeNode({
id:"c4",
text:"文章评论"
});
var c5=new Ext.tree.TreeNode({
id:"c5",
text:"上传照片"
});
//给root(根节点)添加子接点
root.appendChild(c1);
root.appendChild(c2);
root.appendChild(c3);
root.appendChild(c4);
root.appendChild(c5);

//设置treePanel
var tree=new Ext.tree.TreePanel({
renderTo:"westTree",//存放的位置
lines:false,//false禁止显示树的虚线
root:root,//绑定
animate:true,//true表示激活展开、闭合的动画
enableDD:false,//
border:false,//设置边框
rootVisible:true//

});
});

/**
定义发表文章的窗体表单
*/
var fbForm=null;
function addForm(node,event){
if(fbForm!=null)
return;

fbForm=new Ext.form.FormPanel({
title:"发表文章",
closable:true,
height:500,
autoScroll:true,
items:[
{
xtype:"textfield",
fieldLabel:"文章主题",
name:"art.title",
width:220,
msgTarget:"side",//显示错误提示
allowBlank:false,
blankText:"文章主题不能为空!",
maxLength:100,
maxLengthText:"文章主题不能超过100个字符!",
regex:new RegExp("^[0-9a-zA-Z\_]+$"),
regexText:"文章主题必须是字母和数字、或下划线的组合"
},
{
xtype:"htmleditor",//编辑内容框
fieldLabel:"文章内容",
name:"art.contents",
height:360,
anchor:'98%',//设定和屏宽的比列
invalidText:"请输入有效的字符!",
allowBlank:false,
blankText:"文章内容不能为空!",
msgTarget:"side"

}
],
buttons:[
{
id:"btnSubmit",
text:"发表",
handler:function(){
if(fbForm.form.isValid()){
Ext.MessageBox.show({
msg:"正在上传文章,请稍等....",
progressText:"Save....",
width:240,
wait:true,
waitConfig:{interval:200},
icon:"downLoad",
animEL:"saving"
});
setTimeout(function(){},10000);
fbForm.form.submit({
url:"articles.do?method=saveArticles",//提交路径
method:"post",//提交方式
success:function(form,action){
var falg=action.result.success;
if(falg==true){
Ext.MessageBox.show({
title:"恭喜",
msg:"恭喜!文章发表成功!",
width:200,
height:150,
buttons:Ext.Msg.OK
});
}
},
failure:function(){
Ext.Msg.alert('错误','服务器出现错误请稍后再试!');
}
});

}
}
},
{
id:"btnreset",
text:"重置",
handler:function(){
fbForm.getForm().reset();
}
}
],
listeners:{
"destroy":function(){
fbForm=null;
}
}

});
tabPanel.add(fbForm);//给tabPanel中添加form表单
tabPanel.show();//显示tabPanel
fbForm.show();//显示form表单
}


========登陆界面=========
function Login() {
Ext.QuickTips.init();
var loginForm=new Ext.form.FormPanel({
frame:true,
width:280,
height:120,
items:[{
xtype:"textfield",
fieldLabel:"用户名",
msgTarget:"side",//在表单元素右侧加错误图标,鼠标旋停上面时显示错误信息。
name:"loginId",
validateOnBlur:true,//失去焦点进行验证
allowBlank:false,
minLength:3,
minLengthText:"至少要输入3个字符!",
maxLength:50,//输入最大长度50
maxLengthText:"最大长度不能超过50个字符!",
regex:new RegExp("^[0-9a-zA-Z\_]+$"),
regexText : "用户名必须是字母和数字、或下划线的组合",
blankText:"用户名不能为空!"
},
{
xtype:"textfield",
fieldLabel:"密 码",
inputType:"password",
name:"loginPwd",
validateOnBlur:true,
msgTarget:"side",
minLength:6,
minLengthText:"至少要输入6个字符!",
maxLength:12,//输入最大长度12
maxLengthText:"最大长度不能超过12个字符!",
allowBlank:false,
blankText:"密码不能为空!"
},
{
html:"<B><a href='#' onClick='Reg();'><font align='center'>新用户注册</font></a></B>"
}
],
buttons:[
{
id:"btnOk",
text:"登录",
handler:function(){
if(loginForm.form.isValid()){//判断是否是表单,如果是就返回true
Ext.MessageBox.show({
msg:"正在登陆,请稍等....",
progressText:"Login...",//背景值
width:300,
wait:true,//是否等待
waitConfig:{interval:200},
icon:"download",
animEl:"login"
});
setTimeout(function(){},10000);
loginForm.form.submit(
{
url:"login.do?method=getLogin",//提交路径
method:"post",//提交方式
//登陆成功后,执行的语句
success:function(form,action){
//如果服务器端传过来的数据为true则表示登录成功
var flag=action.result.success;
if(flag ){
Ext.MessageBox.alert('恭喜','登陆成功!');
win.hide();
}
},
failure:function(){
Ext.Msg.alert('错误','服务器出现错误请稍后再试!');
}
});
}
}
},
{
id:"btnCancel",
text:"取消",
handler:function(){
win.hide();//隐藏窗体
}
}
]
});
var win=new Ext.Window({
layout: 'fit',
modal:true,//模态窗体
//draggable:false,
resizable:false,//True 表示为允许用户从window的四边和四角改变window的大小(默认为 true).
title:"登录",
plain:true,//True 表示为渲染window body的背景为透明的背景,这样看来window body 与边框元素(framing elements)融为一体,false表示为加入浅色的背景, 使得在视觉上body元素与外围边框清晰地分辨出来(默认为 false).
width:300,
height:150,
//pageX:200,//定位x坐标
//pageY:200,//定义Y坐标
hideCollapseTool:false,
draggable:false,//true为激活此面板的拖动
items:loginForm //添加表单

});
win.show();//显示窗体
}

====效果如附件:====







  • 大小: 74.6 KB
分享到:
评论

相关推荐

    ext布局和菜单设计整理

    ext布局和菜单设计整理

    EXT 布局 Layout 资料

    ### EXT 布局 Layout 资料详解 #### 6.1 布局概述 在 Ext JS 中,布局(Layout)是一个重要的概念,它指的是容器组件内子元素的排列方式。Ext JS 的所有容器组件都支持布局操作,并且每个容器都有一个对应的布局...

    Ext布局类的介绍与使用

    在Web开发中,界面布局设计是提升用户体验的关键因素之一。EXT框架提供了一套强大的布局管理机制,使得开发者能够轻松创建复杂且响应式的用户...熟练掌握EXT布局的使用,可以极大地提升Web应用的用户体验和开发效率。

    ext布局(Layout.html)例子.pdf

    EXT布局是一种强大的前端开发框架,用于构建富互联网应用程序(RIA)。在EXT中,布局管理器是核心组件之一,它负责处理容器中的子组件的排列和大小调整。以下是对EXT布局中几种常见布局方式的详细说明: 1. Column...

    搜集来的ext布局材料

    以下是从给定代码片段中提取的EXT布局相关的重要知识点: 1. **Viewport布局**: - `Ext.Viewport` 是EXTJS中的一个全局对象,用于全屏布局,它会占据浏览器的整个视口。 - 在示例中,`viewport` 的布局有两种...

    ext布局(Layout.html)例子[参考].pdf

    以下将详细介绍EXT布局中的几种主要类型及其应用场景。 1. **Column布局**:此布局将容器划分为多列,每列的宽度可以通过`columnWidth`指定为百分比值。例如,设置`layout: "column"`后,可以分配列的相对宽度,...

    EXT布局,EXT相关知识

    主要讲的是EXT布局,使用这个布局,能让你学习更好的知识,我也在学习,咱们一起学习吧~~

    Ext布局类的介绍与使用的例程

    Ext布局类是Ext JS库中的核心组件之一,用于在页面上组织和管理控件的布局。这个强大的功能允许开发者创建复杂、响应式的用户界面。在本文中,我们将深入探讨`borderlayout`,这是一种常见的布局模式,它将容器分为...

    GWT-ext 布局示例

    在本文中,我们将深入探讨GWT-Ext框架中布局管理器的应用,这是一个基于Google Web Toolkit (GWT) 和 ExtJS 的强大控件库,用于快速开发富互联网应用程序。本系列文章的第三部分主要关注各种布局的实现和使用技巧,...

    Extjs 布局生成器(ext布局本地版本)

    Extjs 布局生成器,可以生产各布局查看布局代码

    ext布局layout各组件动态生成并相互交互

    发现目前网上 ext layout 例子虽然各项功能可以实现但是无法应用到真实项目中 因为大部分例子其中的各组件是静态写成的 只是动态的通过对象名调用 实际开发中各组件多为动态生成 因为即时数据:不能定义对象名...

    ext布局layout各组件动态生成并相互交互2

    发现目前网上 ext layout 例子虽然各项功能可以实现但是无法应用到真实项目中 因为大部分例子其中的各组件是静态写成的 只是动态的通过对象名调用 实际开发中各组件多为动态生成 因为即时数据:不能定义对象名...

    ext布局使用,菜单内容

    主要编写EXT的布局,rar文件,里面包含了EXT2.1的资源文件,

    EXT 布局 tab布局 普通拖拽 异步加载的树 节点可以编辑的树

    即:Ext.window 4.mainPage.html为tab布局,右面为tree中间为tab页面。 5.tz-normal-test.html为普通拖拽的练习。 6.tree-asynch-test.html为异步加载的树 7.tree-edit-test.html为节点可以编辑的树 8.tree-tz-...

    ext布局demo

    ext 3做的布局DEMO 适合新手借鉴 用myeclipse写的 可以直接用浏览器打开

    ext表格布局小例子

    ### ExtJS 表格布局小例子详解 #### 一、简介 本文档旨在解析一个具体的 ExtJS 表格布局小例子,重点介绍其中涉及的数据存储、数据删除与添加的方法。ExtJS 是一款强大的 JavaScript 框架,用于构建交互式的前端...

    ext简单布局,直接修改即可使用

    ext做简单布局,ext简单布局,直接修改即可使用ext简单布局,直接修改即可使用ext简单布局,直接修改即可使用

    Ext简介及应用案例 ppt

    Ext是一个强大的JavaScript库,特别设计用于构建富互联网应用程序(RIA)。它基于Ajax技术,提供丰富的用户界面组件和高度可定制的界面元素。Ext的核心特点包括遵循W3C标准,拥有庞大的组件模型,允许开发者创建复杂...

    经典EXT后台简单布局

    EXT后台简单布局,很好的,好用!!!!

    ext学习文档

    - **applayout.html**: 介绍了一个典型的EXT布局文件示例。 - **applayout.js**: 提供了一个示例脚本文件,展示了如何使用EXT构建应用程序。 - **公开Public、私有Private、特权的Privileged?**: 解释了EXT中变量和...

Global site tag (gtag.js) - Google Analytics