`

ExtJs form界面显示之界面调整(游览器兼容性)

 
阅读更多
ExtJS的界面不咋好看,但是兼容性还不错。下面要介绍一个ExtJS由于编程而引起的游览器兼容性问题。

火狐下formPanel界面


IE下formPanel界面


ExtJS的formPanel中元素的代码:
	/*端口**/
	defPortField = new Ext.form.NumberField({
	  fieldLabel: 'FTP端口',
	  width : 160,
	  labelSeparator:'',
	  id:'defPortField',
	  allowBlank : false,
	  allowNegative : false,
	  allowDecimals : false
	});
	
	ftpUserField = new Ext.form.TextField({
	  defaultType : 'textfield',
	  width : 160,
	  labelSeparator:'',
	  id:'ftpUserField',
	  fieldLabel : '用户',
	  allowBlank : false
	});
	
	ftpUserPassField = new Ext.form.TextField({
	  defaultType : 'textfield',
	  width : 160,
	  labelSeparator:'',
	  id:'ftpUserPassField',
	  fieldLabel : '密码',
	  allowBlank : false
	});
  
        ftpRootPathField = new Ext.form.TextField({
          defaultType : 'textfield',
          width : 160,
          labelSeparator:'',
          id:'ftpRootPathField',
          fieldLabel : 'FTP根目录',
          allowBlank : false,
          regex : /^\/[^\\]*$/,
          regexText : '根目录格式不正确'
        });


问题代码
    var ftpServSetForm = new Ext.FormPanel({
        width:330,
        frame: true,
        layout: 'column',
        items: [{
            columnWidth : .99,
            xtype: 'fieldset',
            labelWidth: 140,
            defaultType: 'textfield',
            autoHeight: true,
            border: false,
            items: [ftpHostField]
        },{
            columnWidth : .99,
            xtype: 'fieldset',
            labelWidth: 140,
            defaultType: 'textfield',
            autoHeight: true,
            border: false,
            items: [defPortField]
        },{
            columnWidth : .99,
            xtype: 'fieldset',
            labelWidth: 140,
            defaultType: 'textfield',
            autoHeight: true,
            border: false,
            items: [ftpUserField]
        },{
            columnWidth : .99,
            xtype: 'fieldset',
            labelWidth: 140,
            defaultType: 'textfield',
            autoHeight: true,
            border: false,
            items: [ftpUserPassField]
        },{
            columnWidth : .99,
            xtype: 'fieldset',
            labelWidth: 140,
            defaultType: 'textfield',
            autoHeight: true,
            border: false,
            items: [ftpRootPathField]
        }]
    });


正确显示的代码

    var ftpServSetForm = new Ext.form.FormPanel({
        id : 'tool_ftpServSetForm',
        width:330,
        layout: 'column',
        frame: true,
        items: [{
            columnWidth : .99,
            xtype: 'fieldset',
            labelWidth: 140,
            defaultType: 'textfield',
            autoHeight: true,
            border: false,
            items: [ftpHostField, defPortField, ftpUserField, 
            ftpUserPassField, ftpRootPathField]
       }]
    });


分析:问题代码中,将每个form都分开到一个“fieldSet”中显示,相当于有5个“fieldSet”,在IE下显示就会相隔很远的距离,布局的时候容易把距离弄乱掉。
而火狐并不分别这个类型问题,布局正常。

正确的应该是将各个field放到一个“fieldSet”下,这样各个浏览器都能正常浏览。

总结: 这只是个很小的问题,编程习惯好的人根本不会遇到。弄清楚这个问题,让我在以后写代码的时候可以不再犯同样的问题,这就是进步了。

  • 大小: 3.7 KB
  • 大小: 4.4 KB
0
2
分享到:
评论

相关推荐

    extjs-Ext.ux.form.LovCombo下拉框

    综上所述,`Ext.ux.form.LovCombo`是EXTJS中用于创建具有多选功能和良好浏览器兼容性的下拉框组件。它解决了火狐浏览器上的兼容性问题,并提供了丰富的定制选项,适用于各种业务场景。开发者可以利用它来创建更复杂...

    extjs4.2.3

    6. **兼容性提升**:EXTJS 4.2.3可能会改善与不同浏览器的兼容性,包括较旧版本的IE,以支持更广泛的用户基础。 7. **文档更新**:随着新版本的发布,官方文档通常也会得到更新,提供更详尽的API参考和示例,帮助...

    ExtJs教程_完整版

    它以其优雅的API、丰富的组件集合以及出色的跨浏览器兼容性而著称。与其他JavaScript库相比,ExtJS不仅简化了开发流程,还极大地提高了Web应用的交互性和美观度。 **1.2 与YUI的关系** ExtJS最初是作为Yahoo User ...

    ExtJS日期多选组件源码

    7. **兼容性和性能优化**:确保组件在各种浏览器和设备上都能正常工作,同时尽可能优化性能,避免因大量日期选择导致的性能下降。 通过研究和理解"ExtJS日期多选组件源码",开发者可以深入学习ExtJS组件设计、事件...

    EXtjs 图片批量上传

    同时,如果浏览器不支持HTML5的File API,可以考虑使用Flash作为备选方案,但需要注意Flash的安全性和兼容性问题。 总之,通过ExtJS结合HTML5的File API,我们可以创建一个功能完善的图片批量上传组件,包括预览和...

    extjs框架及教程

    通过EXTJS,前端开发者可以创建出功能丰富、用户体验优良的Web应用,而无需过多关注底层的浏览器兼容性和DOM操作。EXTJS还提供了丰富的API和插件支持,使得扩展和定制变得简单。 总的来说,EXTJS是一个强大且功能...

    Extjs的HtmlEidtor富文本编辑器的使用和图片上传显示的实现

    例如,对于图片上传,可能使用了像Plupload这样的文件上传库,它提供了多浏览器兼容性、断点续传等功能。同时,文章可能还会介绍如何将HtmlEditor与后端服务(如PHP、Java或Node.js)集成,实现文件的接收和存储。 ...

    Extjs4.1可用的日期时间选择控件

    - 进行跨平台和跨浏览器的兼容性测试,确保在各种环境下都能正常工作。 EXTJS 4.1的日期时间选择控件是构建用户友好且功能强大的Web应用的重要组成部分。通过理解和利用这些控件,开发者能够创建出更加高效和易用...

    Extjs4中文版教程

    总的来说,ExtJS4中文版教程强调了ExtJS框架在用户界面设计上的优势,丰富的组件库、跨浏览器的兼容性、简洁的事件驱动模型和高效的AJAX交互能力。本教程作为入门级的学习材料,非常适合希望快速掌握ExtJS框架并应用...

    Extjs3.4.0版本 多选下拉框效果支持多选/全选/全不选

    `adapter`可能是指ExtJS的适配器,用于兼容不同浏览器的JavaScript API,确保组件在各种环境下都能正常工作。 总的来说,实现这样一个多选下拉框需要对ExtJS的组件系统有深入理解,包括Store、模板、事件处理和...

    ExtjS实现聊天功能

    10. **测试与调试**:使用ExtJS的内置开发者工具进行测试和调试,确保应用在不同浏览器和设备上的兼容性。 综上所述,通过深入理解和灵活运用ExtJS框架,我们可以构建出一个具备好友在线状态、聊天记录、表情发送、...

    extjs3.2、3.3 时间控件 日期控件扩展

    - 为了确保跨浏览器兼容性,开发者应根据目标用户群进行适配和测试。 总之,“extjs3.2、3.3 时间控件 日期控件扩展”是关于如何在ExtJS 3.x版本中使用和自定义日期及时间选择器的知识点,涵盖了基本使用、扩展...

    Extjs多文件上传

    需要注意的是,多文件上传可能涉及到浏览器兼容性问题,特别是对于`multiple`属性和`FormData`对象,所以实际开发时需要考虑使用polyfill库或提供备选方案。此外,安全性也是一个重要考虑因素,包括验证文件类型、...

    extjs+swfupload实现多文件上传下载删除带进度条

    由于其使用Flash技术,所以在早期的浏览器中,`SwfUpload`能够提供比HTML5更好的兼容性。 要实现多文件上传,首先需要在页面中嵌入`SwfUpload`控件,设置允许选择多个文件的参数。然后,通过JavaScript与`SwfUpload...

    ExtJS 编写的批量上传(java实现)

    当然,这种操作需要考虑到浏览器兼容性和性能优化。 与Java后端的交互通常是通过Ajax方式进行的,使用`Ext.Ajax.request`方法发送HTTP请求,将文件数据作为FormData对象的一部分提交。Java端,通常会有一个接收文件...

    ext_image.rar_ext_image_extjs_extjs 4.2 img_extjs image_extjs图片上

    在ExtJS 4.2中,上传组件可能需要配合第三方插件,如SWFUpload或jQuery File Upload,以实现浏览器兼容性和异步上传。这些插件会处理文件选择、进度显示、错误处理等复杂逻辑。 删除图片的功能可能需要结合服务器端...

    学习extJs文档

    ### 学习ExtJS文档知识点总结 ...总之,ExtJS凭借其丰富的功能集、良好的跨浏览器兼容性和强大的事件驱动架构,已成为前端开发领域的一款重要工具。无论是新手还是经验丰富的开发者,都能够从中受益匪浅。

    ext-3.21.rar 整合了css+div+js的高效完美ExtJS

    9. **兼容性**:ExtJS 3.2.1在发布时兼容大多数主流浏览器,包括IE6+、Firefox、Chrome、Safari等,这为开发者提供了广泛的用户基础。 10. **社区和生态系统**:ExtJS拥有活跃的开发者社区,提供大量的插件、示例和...

    extjs2.2 框架下载

    9. **兼容性**:EXTJS 2.2设计时考虑了跨浏览器兼容性,支持主流的浏览器如IE6+、Firefox、Chrome、Safari等,确保应用在各种环境下都能正常运行。 10. **性能优化**:EXTJS 2.2对组件的渲染和数据加载进行了优化,...

    ExtJS使用笔记

    它以其丰富的组件集、美观的用户界面和良好的浏览器兼容性而著称。在学习和使用ExtJS的过程中,我们需要了解其基础构成,如何引用库文件,以及如何通过各种控件实现丰富的交互效果。 首先,要开始使用ExtJS,必须...

Global site tag (gtag.js) - Google Analytics