ExtJS4.2学习(17)表单基本输入控件Ext.form.Field
2024-07-02 14:56:09 224人阅读
Ext.form.Field是所有表单输入控件的基类,其他的输入控件都是基于Ext.form.Field扩展得来的。 Ext.form.Field中定义了输入控件通用的属性和功能函数,这些通用的属性和功能函数大致分为3大类:页面显示样式、控件参数配置和数据有效性检验。我们先来看看表单输入控件可以使用的校验显示方式。默认情况下,这些输入控件会监听blur事件,如果数据校验失败,就会根据msgTarget中的设置显示错误信息。通常,msgTarget会被设置为qtip,即使用QuickTip显示错误信息,也可以将msgTarget设置为title、side、under中的一种,这样错误信息就会以指定的方式显示。因为所有的输入控件都继承自 Ext.form.Field,所以我们可以为任何一个表单输入控件进行这些设置,改变它们的错误信息显示方式。具体代码如下:
01 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> |
02 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "h t t p://www.w3.org/TR/html4/loose.dtd"> |
05 | < meta http-equiv = "Content-Type" content = "text/html; charset=UTF-8" > |
06 | < title >Hello Extjs4.2</ title > |
07 | < link href = "../../ExtJS4.2/resources/ext-theme-neptune/ext-theme-neptune-all.css" rel = "stylesheet" > |
08 | < script src = "../../ExtJS4.2/ext-all.js" ></ script > |
09 | < script src = "../../ExtJS4.2/locale/ext-lang-zh_CN.js" ></ script > |
10 | < script type = "text/javascript" > |
11 | Ext.onReady(function(){ |
14 | Ext.tip.QuickTipManager.init(); |
16 | var field1 = new Ext.form.TextField({ |
17 | fieldLabel: ‘qtip错误显示方式‘, |
21 | var field2 = new Ext.form.TextField({ |
22 | fieldLabel: ‘title错误显示方式‘, |
26 | var field3 = new Ext.form.TextField({ |
27 | fieldLabel: ‘side错误显示方式‘, |
31 | var field4 = new Ext.form.TextField({ |
32 | fieldLabel: ‘under错误显示方式‘, |
37 | var form = new Ext.form.FormPanel({ |
41 | labelAlign:‘right‘, //文本对齐方式 |
44 | items: [field1, field2, field3, field4], |
49 | form.getForm().isValid(); |
54 | < h1 >我的ExtJS4.2学习之路</ h1 > |
57 | 开始日期:2013年12月11日21:01:19 |
58 | < h2 >深入浅出ExtJS之表单基本输入控件Ext.form.Field</ h2 > |
qtip方式:默认显示方式,显示为悬浮框提示错误文字;
title方式:类似HTML超链接中设置的title;
side方式:输入框后出现错误图标,鼠标放上去会显示错误信息;
under方式:文本框下方出现错误提示图标和文字.
接下来会对上节中出现的控件一一作介绍,本篇先说说文本输入控件(Ext.form.TextField)、多行文本输入控件(Ext.form.TextArea)和日期输入控件(Ext.form.DateField)
代码如下,相关属性已经在注释中写明。
01 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> |
02 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "h t t p://www.w3.org/TR/html4/loose.dtd"> |
05 | < meta http-equiv = "Content-Type" content = "text/html; charset=UTF-8" > |
06 | < title >Hello Extjs4.2</ title > |
07 | < link href = "../../ExtJS4.2/resources/ext-theme-neptune/ext-theme-neptune-all.css" rel = "stylesheet" > |
08 | < script src = "../../ExtJS4.2/ext-all.js" ></ script > |
09 | < script src = "../../ExtJS4.2/locale/ext-lang-zh_CN.js" ></ script > |
10 | < script type = "text/javascript" > |
11 | Ext.onReady(function(){ |
13 | var field = new Ext.form.TextField({ |
14 | fieldLabel: ‘empty‘, //输入控件前显示名称 |
15 | allowBlank: false, //是否允许为空 |
16 | emptyText:‘空‘, //没有输入任何内容提示文字 |
17 | maxLength:50, //输入最大字符串长度 |
18 | minLength:10 //输入最小字符串长度 |
21 | var fieldTextArea = new Ext.form.TextArea({ |
23 | grow:true, //会根据输入内容自动修改自身高度 |
24 | preventScrollbars:true, //防止出现滚动条,如果内容超出显示范围就会自动隐藏 |
32 | var fieldDate = new Ext.form.DateField({ |
36 | disabledDays:[0,6] //禁止选择的日期 |
39 | var form = new Ext.form.FormPanel({ |
43 | items: [field,fieldTextArea,fieldDate], |
50 | < h1 >我的ExtJS4.2学习之路</ h1 > |
53 | 开始日期:2013年12月11日21:13:50 |
54 | < h2 >深入浅出ExtJS之文本输入控件Ext.form.TextField</ h2 > |
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉:
投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。