(Ext基础篇) 表单与输入控件

2023-11-19

FormPanel和BasicForm详解

                                       我们制作一个Ext.form.FormPanel,然后在里面设置field。顾名思议,FormPanel是Ext.Panel的一个子类,可以对其执行各种Panel操作。实际上,表单的功能是在Ext.form.BasicPanel 中实现的,在获得FormPanel之后,随时都可以使用getForm()方法获得BasicForm对象。我们可以在得到BasicForm上执行“提交表单数据”和“复位表单初始值”等操作。

                                        引入Ext.form.FormPanel的最大好处在于布局,Ext.form.FormPanel继承了Ext.Panel 作为一个Panel,我们可以把Ext.form.FormPanel放到Ext.ViewPort中作为整个页面布局的一部分,同时也可以利用items 指定Ext.form.FormPanel内部子组件。如其他Panel一样,我们可以通过xtype来指定每个子组件的类型。

 

控件继承图:

 

 

基本输入控件Ext.form.Field

              Ext.form.Field是所有输入控件的基类,其他的输入控件都是基于Ext.form.Field扩展而来的。Ext.form.Field中定义了输入控件通用的属性和功能函数,这些通用属性和功能函数分为3大类:页页面显示样式、控件参数配置和数据有效校验

          页面显示样式:clearcls、cls、fieldClass、foucsclass、itemcls、invalidclass、labstyle等属性,用来定义不同状态下输入框的样式。

          控件参数样式:autoCreate、disable、fieldLabel、hideLabel、inputType、labspearator、name、readonly、tabIndex、Value等属性,它们主要用来设置输入控件生产的DOM内容和标签内容,已经是否禁用和是否可读等配置。

         数据校验:invalidText、msgText、msgaTarget、validateOnBlur、validateDelay、validateEvet等属性,它们用来设置数据校验的方式以及如何显示错误信息。

     

        先看看表单输入控件的校验显示。默认情况下,这些输入控件会监听blur事件,如果表单数据校验失败会根据megTarget中设置显示错误信息。通常msgTarget会设置为'qtip',即使用QuickTip显示错误信息,也可以将megTarget设置为title、side、under中的一种,这样错误信息就会以指定的方式显示。因为所有的输入控件都继承自Ext.fom.Field,所以我们可以为任何一个表单的输入控件进行这些设置,改变它们的错误信息显示方式。

         

 

相关的代码:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
   
    
    <title>Extjs 学习系列</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
	<!--导入相关资源文件 -->
	<link rel="stylesheet" type="text/css" href="css/ext-all.css" />
	<script type="text/javascript" src="js/ext-base.js"></script> 
	<script type="text/javascript" src="js/ext-all.js"></script> 
  <script type="text/javascript" src="js/ext-all-debug.js"></script> 
	
<script>
	Ext.onReady(function() {
	  //错误信息提示方法 
	  Ext.QuickTips.init();
	  
	  var field1=new Ext.form.Field({
	       fieldLabel:'qtip',
	       msgTarget:'qtip'
	  });
	  
	    var field2=new Ext.form.Field({
	       fieldLabel:'title',
	       msgTarget:'title'
	  });
	  
	    var field3=new Ext.form.Field({
	       fieldLabel:'side',
	       msgTarget:'side'
	  });
	  
	    var field4=new Ext.form.Field({
	       fieldLabel:'under',
	       msgTarget:'under'
	  });
	   
	   var form=new Ext.form.FormPanel({
	       	title:'title',
	       	items:[field1,field2,field3,field4],
	       	renderTo:'content'
	   });
	  field1.markInvalid();
	   field2.markInvalid();
	    field3.markInvalid();
	     field4.markInvalid();
	   
	
		

		
		
	});
</script>


</head>
  
  <body>
   <div id='content' class='content'></div>
  </body>
</html>

 

文本输入控件:Ext.form.TextField

              Ext.form.TextField直接继承自Ext.form.Field,它是专门用来输入文本数据的输入控件。除了Ext.form.field中提供的通用属性和功能函数外,Ext.form.TextField最常用的特性就是可以检测内部输入数据是否为空、控制输入数据内容的大小及最长最小长度。

多行文本输入控件:Ext.form.TextArea

              Ext.form.TextArea也是用来输入文本的输入控件,与Ext.form.TextField的不同之处是i,它可以输入多行文本。除此之外,两者的用法都是相同的。

日期输入控件:Ext.form.DateField

             Ext.form.DateField是平时经常用到的时间控件,除了弹出日历选择日期的功能之外,它还支持所有的Ext.formField以及Ext.form.TextField中定义的功能。

时间输入控件:Ext.from.TimeField

             Ext.form.TimeField是用来选择时间的输入控件,它可以通过指定一天中的起始时间、结束时间以及时间间隔的方式来为用户提供可选时间。

在线编辑器:Ext.form.HtmlEditor

             Ext.form.HtmlEditor是一个简易的编辑器,能对文本进行各项设置。

隐藏域:Ext.form.Hidden

             Ext.form.Hidden直接继承自Ext.form.Field,我们可以通过它的setValue()和getValue()函数对它直接赋值和取值操作,但它不会在页面上显示。

下拉输入框:Ext.from.TriggerField

             Ext.form.TriggerField是ComboBox、DateField和TimeField的父类,它既可以通过手工输入数据,也可以通过选择输入数据。为了显示下拉选择的功能,我们需要复写它的OnTriggerClick()函数实现弹出窗口。


                                                                                                     表单布局

             表单默认布局的优点是 简便和无需额外的配置,直接使用默认的布局也能够满足大多数的要求。Form中的标签默认的使用左对齐的方式,一共用left、top、right三个值可以选,我们可以通过labelAlign:‘right’ 使标签左对齐,标签的宽度我们也可以设置i,我们使用labelWidth:60,宽度就是60像素。如果标签的宽度过长的话,文字会自动换行。按钮的位置也可以设置,有left、center、right三种选择,默认的是right(右对齐)。

             品行分列布局

            我们首先使用layout:‘column’来说明下面使用的是列布局,然后在items指定的每列中使用columnwidth指定每列所占总宽度的百分比。

要注意一点,如果使用分列布局,就不能在表单中直接使用defaultType指定的默认的xtype了。否则会影响布局的结果。每一行也必须手动指定layout:'form',这样才能在每列中正常的显示输入框和对应的标签。

 

详解ComboBox

参数详解:store:用来为Ext.formComboBox提供数据,原始数据是一个二维数组。

                 valueField和displayField跟二维数组数据一一对应

                 emptyText即没有选择任何数据ComboBox显示的数据

                 triggerAction设置为all,它默认的是query,它会使用autoComplete功能

                model设置为local,数据是本地信息

                value是ComboBox的默认值

Html的select转换Ext.form.ComboBox的配置属性是:transform

       

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

(Ext基础篇) 表单与输入控件 的相关文章

  • 有时间再看decode详解

    Oracle 中 decode 函数用法 含义解释 decode 条件 值1 返回值1 值2 返回值2 值n 返回值n 缺省值 该函数的含义如下 IF 条件 值1 THEN RETURN 翻译值1 ELSIF 条件 值2 THEN RETU
  • 冲刺春招-精选笔面试 66 题大通关 day6

    day6题目 33 搜索旋转排序数组 54 螺旋矩阵 bytedance 006 夏季特惠 学习计划链接 冲刺春招 精选笔面试 66 题大通关 今日知识点 二分 模拟 01背包 难度为中等 中等 字节 简单 33 搜索旋转排序数组 整数数组
  • ARouter(二)源码解析

    前言 这一篇我们来具体看一下ARouter的实现原理 如果你之前没有接触过ARouter 可以先阅读上一篇 Android 从零开始打造自己的深度链接库 一 ARouter简介 废话不多 我们赶紧分析源码 正文 首先我们从github下载最
  • 中文信息处理实验8——基于逻辑斯蒂回归模型的文本分类

    目录 实验目的 实验要求 实验内容及原理 参考代码 实验结果 实验目的 加深对汉语文本信息处理基础理论及方法的认识和了解 锻炼和提高分析问题 解决问题的能力 通过对具体项目的任务分析 数据准备 算法设计和编码实现以及测试评价几个环节的练习
  • win10系统C盘出现感叹号及加密图标解除

    近期遇到Win10系统C盘图标加密情况 经过搜索查找最终解决 并对操作进行简单记录 1 以管理员身份打开命令行窗口 2 输入 manage bde off c 3 相关指令 加密指令 manage bde on c 查看状态指令 manag
  • 使用定时框架Quartz.net时,发布到服务器后无法正常执行定时任务

    问题描述 使用Quartz net每天定时执行某个任务时 未能正常执行 每次在本地测试时 设置了短的时间间隔 都能正常执行任务 但是挂到服务器后 设置定时执行时间为几个小时 却不能正常执行我们要执行的操作 原 因 IIS的程序池有一个闲置超
  • _Linux网络数据包的揭秘以及常见的调优方式总结

    作为业务 SRE 我们所运维的业务 常常以 Linux TCP UDP daemon 的形式对外提供服务 SRE 需要对服务器数据包的接收和发送路径有全面的了解 以方便在服务异常时能快速定位问题 以 tcp 协议为例 本文将对 Linux
  • 自己封装一个类express路由框架

    今天用了Node封装一个简单的类似express框架的路由 首先先看看 没封装 之前的server路由代码 const http require http const url require url const ejs require ej
  • Java变量与常量书写方式与规范

    变量 变量是什么 变量是可以变化的量 Java是一种强类型语言 每个变量都必须声明其类型 Java变量是程序中最基本的存储单元 其要素包括变量名 变量类型和作用域 type varName value varName value 数据类型
  • 链表指定区间反转

    题目 反转从位置 m 到 n 的链表 请使用一趟扫描完成反转 说明 1 m n 链表长度 输入 1 gt 2 gt 3 gt 4 gt 5 gt NULL m 2 n 4 输出 1 gt 4 gt 3 gt 2 gt 5 gt NULL 头
  • java公钥签名,ping++ java验签(签名,公钥,charge)怎么获取

    packageexample importjava io FileInputStream importjava security InvalidKeyException importjava security KeyFactory impo
  • Halcon模板匹配

    Halcon模板匹配 Halcon模板匹配的方法 模板匹配的流程 基于形状的模板匹配的思路 原理 Halcon模板匹配的方法 模板匹配的流程 基于形状的模板匹配的思路 读取图像 转灰度图 dev close window dev open
  • vue项目打包部署到linux tomcat服务器,解决一刷新就报错404问题

    1 部署到服务器前 更改webpack配置 修改index js中以下配置 2 运行npm run build 或者cnpm run build命令 打包完成后 在项目的根目录dist文件下生成了如下文件 3 tomcat的webapps创
  • 问题解决——使用串口调试助手发送控制字符 协议指令 <ESC>!?

    问题解决 使用串口调试助手发送控制字符 协议指令 参考文章 1 问题解决 使用串口调试助手发送控制字符 协议指令 2 https www cnblogs com wlsandwho p 4202094 html 备忘一下
  • 丁鹏:多角度回顾因果推断的模型方法

    来源 集智俱乐部 本文约23000字 建议阅读20 分钟 本文整理自丁鹏老师的8篇短文 从多角度回顾了因果推断的各种模型方法 导读 推断因果关系 是人类思想史与科学史上的重要主题 现代因果推断的研究 始于约尔 辛普森悖论 经由鲁宾因果模型
  • 云服务器是什么? 云服务器有哪些选择?

    欢迎前往我的个人博客云服务器查看更多关于云服务器和建站等相关文章 随着互联网技术的发展和云计算技术的应用 越来越多的企业倾向于使用云服务器来满足其不断增长的计算需求 云服务器是一种基于云计算技术的虚拟服务器 它能够为企业提供高性能 可靠 灵

随机推荐

  • 【算法竞赛】Python快速入门指南

    该指南由GPT4编写 用于快速入门蓝桥杯Python组 当然 仅限入门而已 本指南由GPT 4生成 我只是负责引导 并对内容进行整理和补充 一直以来我都是使用C 作为算法竞赛语言 但是奈何C 组太卷 自己又太菜 于是另谋他路 Prompt模
  • 【AD20】快速且只选中部分自己想要的同类型的元件

    在project属性框里面 可以选择所有如下图所示内容 这个是一个过滤器 里面有多种小选项 比如 Components 元件 Pads 焊盘 Texts 文本 选择哪个就只能选择对应的部分 比如 只选择文本 在画图区域 框选 发现只有文本才
  • 数位拆分

    4 数位拆分v1 0 现有一个4位数的正整数n 4321 即n是一个已知的数 固定为4321 编写程序将其拆分为两个2位数的正整数43和21 计算并输出拆分后的两个数的加 减 乘 除和求余的结果 例如n 4321 设拆分后的两个整数为a b
  • 【目标检测】OneNet: Towards End-to-End One-Stage Object Detection

    label assignment是指 在训练过程中如何将某个prediction指定给某个GT 用于计算损失 训练网络 对于上一篇文章 他们首先用one to one label assignment替换了one to many label
  • 生信学习——Linux必做20题(附详细答案解读)

    题目列表 1 在任意文件夹下面创建形如 1 2 3 4 5 6 7 8 9 格式的文件夹系列 2 在创建好的文件夹 home qiime2 Desktop test 1 2 3 4 5 6 7 8 9 下创建文本文件 me txt 3 在文
  • C#中unsafe的使用

    1 unsafe在C 程序中的使用场合 实时应用 采用指针来提高性能 引用非 net DLL提供的如C 编写的外部函数 需要指针来传递该函数 调试 用以检测程序在运行过程中的内存使用状况 2 使用unsafe的利弊 好处是 性能和灵活性提高
  • python 分段拟合 判别_利用Python检验你的策略参数是否过拟合(转)

    过拟合现象 一般来说 量化研究员在优化其交易策略参数时难免会面临这样一个问题 优化过后的策略在样本内表现一般来说均会超过其在样本外的表现 即参数过拟合 对于参数优化来说 由于优化时存在噪音 过拟合是不可避免的现象 然而为了追求策略的稳定性
  • unity期末作业-插针游戏

    unity期末作业 插针游戏 附下载链接 鼠标控制针的发射 圆盘可以显示接住的针数目 若两根针碰到则界面变红 游戏结束 详细情况如下动态图 点我下载 https download csdn net download weixin 43474
  • 从云到「链」,京东云成为中国第四朵云背后

    在产业加速到数实融合加速的今年 云计算不再是云厂商的唯一考校指标 作者 叶子 出品 产业家 京东云再次破圈 信号来自接连发布的几份报告 在国际权威研究机构Forrester发布的名为 The Forrester Wave Public Cl
  • maven官网下载bin.tar.gz和bin.zip以及src.tar.gz和src.zip的区别

    maven官网http maven apache org download cgi 去官网下载的时候不知道选哪个 现在记录一下 首先弄清楚各后缀的含义 1 bin代表二进制class文件 由java文件编译而成 src代表源码 java源码
  • 天池数据竞赛docker提交操作学习

    天池数据竞赛docker提交操作学习 由于最近天池的比赛都要求使用docker来提交结果 所以在此记录一下docker提交到天池的整个流程 目前正在做的 全球人工智能技术创新大赛 热身赛二 比赛链接 https tianchi aliyun
  • 高效计算基础与线性分类器

    七月算法5月深度学习班课程笔记 No 2 1 深度学习与应用 1 图像上的应用 可以根据图片 识别图片的内容 描述图像 模仿人的创造性生成画作 相册自动归类等 2 NLP上的应用 用RNN学习某作家的文笔风格进行写作 学习代码写作等 下图为
  • 使用 gperftools 分析程序cpu性能

    一 gperftools 简介 gperftools 是 google 开源的一组套件 提供了高性能的 支持多线程的 malloc 实现 以及一组优秀的性能分析工具 二 安装 gperftools 2 1 下载源码 从 gperftools
  • DockerCompose的安装以及使用

    docker compose的安装以及使用 docker compose的定义 docker compose是docker容器的单机编排工具 它是一个可以管理多容器的工具 比如可以解决多容器之间的依赖关系 比如启动nginx前端服务的时候会
  • redis使用Jackson2JsonRedisSerializer序列化问题

    一 spring boot 集成Redis方法 依赖
  • /proc/modules分析

    参考 redhat linux deployment guide 5 2 21 proc modules This file displays a list of all modules loaded into the kernel Its
  • Qt5实现与单片机ATS89S51通信

    Qt实现与单片机直接的通信上位机 单片机代码 测试环境 项目目标 实现效果 关键通信类 QSerialport 总结 这是我大二下学期的单片机课设做的一个小项目 实现上位机与下位机之间的通信 测试环境 开发环境 Qt5 96 Mingw32
  • Acwing 890. 能被整除的数

    注 S 表示集合S中的元素个数 对于 S1 U S2 U S3 U U Sn 中的任意一个元素x 证明在等式右侧只被计算一次 上述证明中假设x属于k个集合 推出x会被计算的次数 注 Si是指1 n中i的倍数的个数 使用容斥原理的时间复杂度是
  • 3年c/c++开发总结(二):书籍[1]

    对3年来学习中书籍的整理 评价 主要为c c 方面 分数为个人意见 虽然大家都知道 但还是强调下 免得口水 分1 5 5为最高 格式 英文名 中文名 作者 出版社 个人评价 评分 无译者说明是因为建议看原版 p s 国产图书要努力 因看过的
  • (Ext基础篇) 表单与输入控件

    FormPanel和BasicForm详解 我们制作一个Ext form FormPanel 然后在里面设置field 顾名思议 FormPanel是Ext Panel的一个子类 可以对其执行各种Panel操作 实际上 表单的功能是在Ext