ExtJS4.2学习(17)表单基本输入控件Ext.form.Field

本文详细介绍了ExtJS框架中表单输入控件的基础使用,包括文本输入控件、多行文本输入控件和日期输入控件的属性配置和实例代码展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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">
03<html>
04<head>
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">
11Ext.onReady(function(){
12                                                         
13    // HtmlEditor需要这个
14    Ext.tip.QuickTipManager.init();
15                                                         
16    var field1 = new Ext.form.TextField({
17        fieldLabel: 'qtip错误显示方式',
18        msgTarget: 'qtip',
19        allowBlank: false
20    });
21    var field2 = new Ext.form.TextField({
22        fieldLabel: 'title错误显示方式',
23        msgTarget: 'title',
24        allowBlank: false
25    });
26    var field3 = new Ext.form.TextField({
27        fieldLabel: 'side错误显示方式',
28        msgTarget: 'side',
29        allowBlank: false
30    });
31    var field4 = new Ext.form.TextField({
32        fieldLabel: 'under错误显示方式',
33        msgTarget: 'under',
34        allowBlank: false
35    });
36                                                         
37    var form = new Ext.form.FormPanel({
38        title: '表单输入控件演示',
39        frame: true,
40        fieldDefaults:{
41            labelAlign:'right', //文本对齐方式
42            labelWidth:150
43        },
44        items: [field1, field2, field3, field4],
45        renderTo: 'form'
46    });
47                                                         
48                                                         
49    form.getForm().isValid();
50});
51</script>
52</head>
53<body>
54<h1>我的ExtJS4.2学习之路</h1>
55<hr />
56作者:束洋洋
57开始日期:2013年12月11日21:01:19
58<h2>深入浅出ExtJS之表单基本输入控件Ext.form.Field</h2>
59<div id="form"></div>
60</body>
61</html>


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">
03<html>
04<head>
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">
11Ext.onReady(function(){
12               
13    var field = new Ext.form.TextField({
14        fieldLabel: 'empty', //输入控件前显示名称
15        allowBlank: false, //是否允许为空
16        emptyText:'空', //没有输入任何内容提示文字
17        maxLength:50, //输入最大字符串长度
18        minLength:10 //输入最小字符串长度
19    });
20                   
21    var fieldTextArea = new Ext.form.TextArea({
22        width:200,
23        grow:true, //会根据输入内容自动修改自身高度
24        preventScrollbars:true, //防止出现滚动条,如果内容超出显示范围就会自动隐藏
25        fieldLabel:'empty',
26        allowBlank:false,
27        emptyText:'空',
28        maxLength:50,
29        minLength:10
30    });
31                   
32    var fieldDate = new Ext.form.DateField({
33        fieldLabel:'日期',
34        emptyText:'请选择',
35        format:'Y-m-d',
36        disabledDays:[0,6] //禁止选择的日期
37    });
38               
39    var form = new Ext.form.FormPanel({
40        title: '表单输入控件演示',
41        width:500,
42        frame: true,
43        items: [field,fieldTextArea,fieldDate],
44        renderTo: 'form'
45    });
46});
47</script>
48</head>
49<body>
50<h1>我的ExtJS4.2学习之路</h1>
51<hr />
52作者:束洋洋
53开始日期:2013年12月11日21:13:50
54<h2>深入浅出ExtJS之文本输入控件Ext.form.TextField</h2>
55<div id="form"></div>
56</body>
57</html>

转载于:https://www.cnblogs.com/hebjtl/p/3704098.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值