ExtJS 中tab中面板大小问题

问题描述

/*Ext.Loader.setConfig({ enabled: true});Ext.Loader.setPath('Ext.ux', 'ExtJS4/ux');Ext.require(['Ext.ux.statusbar.StatusBar', 'Ext.ux.statusbar.ValidationStatus']);*/Ext.onReady(function(){ initLRE();});function initLRE(){var user_name=Ext.util.Cookies.get("user.name"); b=(user_name==null);var event_source=new Ext.util.Observable(); var lre1=Ext.get("lre_1"); var lre2=Ext.get("lre_2"); lre1.dom.href=lre2.dom.href="javascript:void(0)";if(b){lre1.dom.innerHTML="登录"; lre2.dom.innerHTML="注册"; lre1.on("click",login_show,this,{stopEvent:true,tab:'login'}); lre2.on("click",login_show,this,{stopEvent:true,tab:'register'}); //fireEvent 以用户名登录 event_source.fireEvent('userVisit');}else{lre1.dom.innerHTML="你好,"+user_name; lre2.dom.innerHTML="退出"; lre2.on("click",exit,this,{stopEvent:true,tab:'register'}); event_source.fireEvent('anonyVisit');}}function exit(){//销毁cookies fireEvent 退出,即以匿名登录。 alert("退出"); }function login_show(evt,el,o){//登录注册的form,使用tab合成var le_tabs=Ext.createWidget('tabpanel',{tabCls:'base_font',plain:true,bodyStyle:'padding:10',defaults:{ xtype:'form' ,border:false ,itemCls:'form_item' ,bodyStyle:'padding:40px' ,fieldDefaults:{ labelWidth:50 ,labelSeparator:' ' ,msgTarget:'side' } ,anchor:'100%' } ,items:[{ itemId:'login',title:'登录' ,id:'login_form',height:'150px',width:'300px',items:[{ allowBlank:false,xtype:'textfield',fieldLabel:'用户名',name:'user.name',maxLength:20,invalidText:'用户名长度必须在1-20之间'},{ allowBlank:false,fieldLabel:'密码',xtype:'textfield',name:'user.passWord',maxLength:20,inputType:'password',id:'user.passWord',invalidText:'密码长度必须在1-20之间'}],buttons:[{text:'登录'},{text:'取消'}]},{ itemId:'register',id:'register_form' ,height:'280px',title:'注册',width:'300px',items:[{xtype:'textfield',fieldLabel:'用户名',name:'user.name',id:'user.name',maxLength:20,invalidText:'用户名长度必须在1-20之间',listeners:{blur:function(obj){if(obj.getValue().length==0){obj.markInvalid("不能为空");return;}new Ext.data.Connection().request({url:'userUnique',method:'GET',params:'user.name='+obj.getValue(),success:function(rsp,opt){var res=Ext.JSON.decode(rsp.responseText);if(res.res=='error')obj.markInvalid("该用户已存在");}});}}},{xtype:'radiogroup',fieldLabel:'性别',defaults:{name:'user.sex'},items:[{inputValue:'male',boxLabel:'男'},{inputValue:'female',boxLabel:'女'}]},{xtype:'datefield',fieldLabel:'出生日期',minValue:'1990-1-1',maxValue:new Date(),name:'user.birth',invalidText:'有效日期从1990-1-1到今天'},{ allowBlank:false,fieldLabel:'密码',xtype:'textfield',name:'user.password',maxLength:20,inputType:'password',invalidText:'密码长度必须在1-20之间'},{ xtype:'textfield',fieldLabel:'职业',name:'user.occupation',maxLength:20,invalidText:'长度不能超过20'},{ xtype: 'fieldcontainer' ,fieldLabel:'验证码' ,defaults:{hideLabel:true} ,combineErrors:true ,layout: { type: 'hbox', defaultMargins: {top: 0, right: 2, bottom: 0, left: 0} } ,items:[ {xtype:'textfield',maxLength:4,id:'verify',width: 40,name:'verify'} ,{html:"<img src='verifyPic' id='verifyPic' style='vertical-align:middle;'/>",width:70} ,{xtype:'button',text:'换一张',width: 50 ,listeners:{ click:function(button,evt) { Ext.get('verifyPic').dom.src="verifyPic?ts="+new Date().getTime().toString(); } }} ]}/*, new Ext.create('Ext.ux.StatusBar', { dock: 'bottom', id: 'form-statusbar', defaultText: 'Ready', plugins: Ext.create('Ext.ux.statusbar.ValidationStatus', {form:'register_form'}) })*/],buttons: [{text:'注册',handler:function(btn,evt){var formPanel=Ext.ComponentManager.get('register_form');if(formPanel.form.isValid()){formPanel.form.doAction('submit',{url:'user_register',method:'POST',headers:{'Content-Type':'application/x-www-form-urlencoded'},clientValidation:true,success:function(form,action){alert(action.result);if(action.result.res=='ok'){initLRE();Ext.ComponentManager.get('le_window').close();}else{Ext.MessageBox.alert('注册',action.result.msg);}}});}else{Ext.MessageBox.alert('注册','输出信息有误');}}},{text:'取消',handler:function(){Ext.ComponentManager.get('register_form').getForm().reset();}}]}]});le_tabs.setActiveTab(o.tab);//弹出的登录注册窗口var le_window=Ext.create("widget.window",{ autoHeight:true,autoWidth:true,id:'le_window',border:false,closable:true //最好写上,不然需要单击很久才能关闭窗口,closeAction:'destroy' ,draggable:false,resizable:false,modal:true,items:le_tabs,title:'在线投票',listeners:{ beforeclose:function(){this.destroy();}}});le_window.show();le_window.setPosition(le_window.getPosition.x,50);} <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="<%=basePath%>"> <title>在线抽签</title> <meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"> <link rel="stylesheet" type="text/css" href="ExtJS4/resources/css/ext-all.css"><link rel="stylesheet" type="text/css" href="resource/base.css"><link rel="stylesheet" type="text/css" href="resource/index.css"> <script type="text/javascript" src="ExtJS4/bootstrap.js"></script> <script type="text/javascript" src="ExtJS4/ext-lang-zh_CN.js"></script> <script type="text/javascript" src="JS/index.js"></script> </head> <body> <div id="body_frame"><div id="top"><div id="logo">vote online</div><div id="user_area"><a id="lre_1"></a> | <a id="lre_2"></a></div></div> <div id="main"></div> <div id="foot"> copyright‌ @ 2011 vote onlie right reserved‌ </div> </div> <div id="event_source"></div> </body></html> body{background-color:#FED}#body_frame{width:1000px;height:650px;text-align:left; margin:0 auto; }#top{width:1000px;height:100px;background-color:rgb(194,216,242);border-bottom-color: rgb(153,187,232);border-bottom-width: 1px;border-bottom-style: solid;}#main{width:1000px;height:500px;background-color:#DFE8F6}#foot{width:1000px;height:50px;background-color:rgb(194,216,242);border-top-color: rgb(153,187,232);border-top-width: 1px;border-top-style: solid;text-align: center;}#logo{width:520px;height:98px;margin: 0px 0px 0px 10px;float:left;font-family: "Comic Sans MS", cursive;font-size: 72px;vertical-align:text-top;}#user_area{margin:80px 10px 0px 0px;float:right;width:150px;height:20px;text-align: right;} window里有tab,可是window关闭后再打开tabpanel的大小会不一样,效果在附件里,代码在这里:(看过ExtJS的书,可是没动手实践过)   问题补充:<div class="quote_title">小Flying 写道</div><div class="quote_div">index.js <br />里面 72行 ,id:'login_form'&nbsp;&nbsp; 删掉<br />101行 ,id:'register_form'&nbsp; 删掉<br />238行 ,id:'le_window'&nbsp; 删掉 <br />以上删掉看看效果如何 <br />如果删掉成功 那获得控件的方式可以不通过id的方式获得 换其他方式获得控件<br /><br /></div><br /><br /><br />真的是这样。不是ExtJS都会有分配一个默认id?为什么自己分配了id会导致效果走样?

解决方案

index.js 里面 72行 ,id:'login_form' 删掉101行 ,id:'register_form' 删掉238行 ,id:'le_window' 删掉 以上删掉看看效果如何 如果删掉成功 那获得控件的方式可以不通过id的方式获得 换其他方式获得控件
解决方案二:
使用extjs 我很少使用id属性 而且extjs 获得控件的方式有很多种方式
解决方案三:
tabpanel 加个布局layout:'fit' 填充模式

时间: 2024-10-09 12:03:06

ExtJS 中tab中面板大小问题的相关文章

读取txt文件中的数据到extjs中的grid面板?

问题描述 如何将txt文件中的数据读取到extjs中的grid面板中? 问题补充:lizhi92574 写道 解决方案 没有demo.大概就是下面的思路,也就是在read函数里对文本内容解析.Ext.ux.TextJsonReader = Ext.extend(Ext.data.JsonReader,{ read : function(response){ //该函数用来解析数据 var json = response.responseText; //获取 text文本值 //根据 你的text

编辑器-extjs的panel中contentEl内容拼接

问题描述 extjs的panel中contentEl内容拼接 本来是一个panel,里面有一个编辑器. 需求是生成的文章有4个tab. 现在要求做成4个含编辑器的panel,做出一个可选的功能,在编辑器A中输入内容,则文章显示出tab A,若编辑器B中无内容,则文章中无tab B. 我不知道如何获取编辑器的内容,然后把他们拼接在一起.最好是,拼接后中间加上分割标签,这样方便修改的时候,把各个编辑器的内容放入对应的编辑器. 声明编辑器的代码如下,我未用过ext,还请大神帮忙说的浅显明了一些. va

java swing中怎么让面板的背景图片缩放

问题描述 java swing中怎么让面板的背景图片缩放 public void paintComponent(Graphics g){ Graphics2D g2 = (Graphics2D) g; super.paintComponent(g2); //背景图片 int x=0,y=0; java.net.URL imgURL=getClass().getResource("t0156b516cea6edd501.jpg"); ImageIcon icon=new ImageIco

Visual C++中Tab View的多种实现方法_C 语言

本文实例讲述了Visual C++中Tab View的多种实现方法,分享给大家供大家参考.具体如下: 一.引言 标签控件(Tab Control)是VC++编程中经常使用的控件之一,它允许在单个对话框或窗口中设置多个页面,每个页面代表一组控件.当某个页面的标签被选中时,该页 面内的控件就会被显示出来.标签控件使得在有限的窗口空间内可以显示更多的信息,而且分类清晰.同时,VC++提供了以文档/视图 (Document/View)结构方式开发应用程序的简单方法,在文档中保存数据,在视图中显示数据.无

c语言中怎么把一个大小不确定的二维数组当作参数传入函数中

问题描述 c语言中怎么把一个大小不确定的二维数组当作参数传入函数中 c语言中怎么把一个大小不确定的二维数组当作参数传入函数中,取大神,取大神,取大神 解决方案 用VC++新建一个程序,默认生成的main函数定义如下 int mian(int argc, char* args[]) 这就是一个例子. 解决方案二: 一个表示长度的参数,一个指向二维数组的指针 解决方案三: fun(args[][],int rows,int cols) 解决方案四: void Func(int array[][10]

excle2013如何在打印预览中调整表格的大小

  excle2013在打印预览中调整表格的大小的教程: 打印预览中调大小步骤1:打开excel文件,先找到要调整大小的表格. 打印预览中调大小步骤2:表格-打印-打印预览. 打印预览中调大小步骤3:出现打印预览对话框,发现表格内容位置不正,怎么调节到中间位置呢? 打印预览中调大小步骤4:目前默认的纵向位置,可调节横向. 打印预览中调大小步骤5:点击页边距,调整位置,向中间位置拉.

Android中获得手机屏幕大小实现代码

  这篇文章主要介绍了Android中获得手机屏幕大小实现代码,Android开发中经常需要获得屏幕的宽高,本文直接封装成一个工具类,需要的朋友可以参考下 Android在自定义控件时,经常需要获得屏幕的宽高,每次都要写,不妨直接把他封装成工具类,直接拿来用,废话不说,直接上代码 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39

javascript实现textarea中tab键的缩排处理方法

  本文实例讲述了javascript实现textarea中tab键的缩排处理方法.分享给大家供大家参考.具体如下: 网上搜索了一下相关的解决方法,其它的有使用两三行javascript解决的,但都有一些小小的问题.还有使用JQuery的,也非常简洁. 本文的javascript代码实现了在TEXTAREA中输入TAB键并自动缩进的功能.不过这段代码在谷歌浏览器中不能正常执行,在 代码如下: sel =event.srcElement.document.selection.createRange

如何在Word2007中任意调整图片大小

  Word2007提供了丰富的图片编辑功能,方便用户在不借助Photoshop等图片处理工具的情况下,直接在Word文档中对图片进行编辑.修改,甚至还可以为图片添加倒映.三维效果等.下面就来学习如何在Word2007中任意调整图片大小 . 为了满足编辑需要,插入图片后,通常还需要对图片的大小进行调整. (1)快速调整图片大小选中插入的图片,图片边缘会出现一线框,如图1所示,拖曳线框可以凋整图片的大小.当鼠标指针变成双向箭头时,拖曳鼠标可以让图片保持长宽比(原比例)进行调整. (2)精确调整图片