鸣谢:http://www.shuyangyang.com.cn/jishuliangongfang/qianduanjishu/2013-12-11/189.html

-------------------------------------------------------------------------------------------

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

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

具体代码如下:

/**
* 此js演示了Extjs表单中效验的不同显示方式
*/
Ext.onReady(function(){ // HtmlEditor需要这个
Ext.tip.QuickTipManager.init(); var field1 = new Ext.form.TextField({
fieldLabel: 'qtip错误显示方式',
msgTarget: 'qtip',
allowBlank: false
});
var field2 = new Ext.form.TextField({
fieldLabel: 'title错误显示方式',
msgTarget: 'title',
allowBlank: false
});
var field3 = new Ext.form.TextField({
fieldLabel: 'side错误显示方式',
msgTarget: 'side',
allowBlank: false
});
var field4 = new Ext.form.TextField({
fieldLabel: 'under错误显示方式',
msgTarget: 'under',
allowBlank: false
}); var form = new Ext.form.FormPanel({
title: '表单输入控件演示',
frame: true,
width:400,
fieldDefaults:{
labelAlign:'right', //文本对齐方式
labelWidth:150
},
items: [field1, field2, field3, field4],
renderTo: 'form'
}); form.getForm().isValid();
});

qtip方式:默认显示方式,显示为悬浮框提示错误文字;

title方式:类似HTML超链接中设置的title

side方式:输入框后出现错误图标,鼠标放上去会显示错误信息

under方式:文本框下方出现错误提示图标和文字

接下来会对上节中出现的控件一一作介绍,本篇先说说文本输入控件(Ext.form.TextField)、多行文本输入控件(Ext.form.TextArea)和日期输入控件(Ext.form.DateField)

代码如下,相关属性已经在注释中写明。

/**
* 此js演示了Extjs表单中文本输入控件(Ext.form.TextField)、
* 多行文本输入控件(Ext.form.TextArea)和日期输入控件(Ext.form.DateField)的效验
*/
Ext.onReady(function(){ var field = new Ext.form.TextField({
fieldLabel: 'empty', //输入控件前显示名称
allowBlank: false, //是否允许为空
emptyText:'空', //没有输入任何内容提示文字
maxLength:50, //输入最大字符串长度
minLength:10 //输入最小字符串长度
}); var fieldTextArea = new Ext.form.TextArea({
width:200,
grow:true, //会根据输入内容自动修改自身高度
preventScrollbars:true, //防止出现滚动条,如果内容超出显示范围就会自动隐藏
fieldLabel:'empty',
allowBlank:false,
emptyText:'空',
maxLength:50,
minLength:10
}); var fieldDate = new Ext.form.DateField({
fieldLabel:'日期',
emptyText:'请选择',
format:'Y-m-d',
disabledDays:[0,6] //禁止选择的日期
}); var form = new Ext.form.FormPanel({
title: '表单输入控件演示',
width:500,
frame: true,
items: [field,fieldTextArea,fieldDate],
renderTo: 'form'
});
});

后记:本变博客编辑的两个表单不支持IE浏览器。

ExtJS4.2学习(17)表单基本输入控件Ext.form.Field(转)的更多相关文章

  1. 深入浅出ExtJS 第四章 表单与输入控件

    4.1 制作表单 var form = new Ext.form.FormPanel({ title:'form', defaultType:'textfield', buttonAlign:'cen ...

  2. html表单的各种输入控件

    表单的输入控件主要是input和select.其中input可以是多种类型,通过type属性来进行定义,type可以取值是text,radio,checkbox,password,submit,res ...

  3. FineUI之使用SQL脚本从数据库表中生成对应的输入控件

    在WEB开发时.常常须要根据数据库表中的字段建立对应的输入控件,来获取输入的数据.每次都须要按字段来敲,显然太低效.并且easy出错.这里提供一个SQL脚本生成对应输入控件的方法. USE DBDem ...

  4. 学习EXTJS6(8)基本功能-表单的基础表字段Ext.form.field.Basic

    Ext.form.field.Basic是表单字段的基类. Ext.form.field.Text Ext.form.field.TextArea Ext.form.field.Number Ext. ...

  5. C#中缓存的使用 ajax请求基于restFul的WebApi(post、get、delete、put) 让 .NET 更方便的导入导出 Excel .net core api +swagger(一个简单的入门demo 使用codefirst+mysql) C# 位运算详解 c# 交错数组 c# 数组协变 C# 添加Excel表单控件(Form Controls) C#串口通信程序

    C#中缓存的使用   缓存的概念及优缺点在这里就不多做介绍,主要介绍一下使用的方法. 1.在ASP.NET中页面缓存的使用方法简单,只需要在aspx页的顶部加上一句声明即可:  <%@ Outp ...

  6. SNF快速开发平台MVC-各种级联绑定方式,演示样例程序(包含表单和表格控件)

    做了这么多项目,经常会使用到级联.联动的情况. 如:省.市.县.区.一级分类.二级分类.三级分类.仓库.货位. 方式:有表单需要做级联的,还是表格行上需要做级联操作的. 实现:实现方法也有很多种方式. ...

  7. WebBrowser无法显示招商银行password输入控件的问题

    本文由CharlesSimonyi发表于CSDN博客:http://blog.csdn.net/charlessimonyi/article/details/30479131转载请注明出处 之前就看到 ...

  8. Spring Boot 项目学习 (二) MySql + MyBatis 注解 + 分页控件 配置

    0 引言 本文主要在Spring Boot 基础项目的基础上,添加 Mysql .MyBatis(注解方式)与 分页控件 的配置,用于协助完成数据库操作. 1 创建数据表 这个过程就暂时省略了. 2 ...

  9. UI输入控件

    --UI输入控件 -- 输入控件 cc.uii.UIInput.new(table) --[[ 参数 table{ image 输入框图像,可以为图片名或者display.newScale9Sprit ...

随机推荐

  1. nginx查看日志

    原文:nginx日志格式及自定义日志配置 nginx的log日志分为access log 和 error log 其中access log 记录了哪些用户,哪些页面以及用户浏览器.ip和其他的访问信息 ...

  2. 通过SPList Definition自定义ListItem打开编辑详细页面

    在SharePoint中对列表SPList的操作里,常常希望当增加一个条目后还希望关联做一些其它的操作 而SharePoint自身提供的Item操作页面却没有那么灵活:所以通常情况下,我们专门为其提供 ...

  3. Html5 Video 实现方案

    来源:http://ask.dcloud.net.cn/article/569 源码下载 前言: 最近项目中需要用到html5 视频播放功能,于是稍微研究了解了下,遇到了很多坑,特此记录下. 一. H ...

  4. 如何在ANDROID JNI 的C++中打Log

    http://blog.csdn.net/pkigavin/article/details/8583537 最近在研究Android 2.3.3源代码的C/C++层,需要对代码进行一些调试,但是奇怪的 ...

  5. Server Error The server encountered an error and could not complete your request. 新建站点模版失败

    500 Server Error Error: Server Error The server encountered an error and could not complete your req ...

  6. Oracle PL/SQL 找出100以内是3和5的倍数的数 循环语句

    循环: loop --执行代码 exit when 表达式;--当表达式为真退出循环.(注意,其编写位置决定循环为先判断还是先执行,相当于java的while或do-while) end loop; ...

  7. ubuntu下boost的配置方法

    boost版本为: boost_1_52_0ubuntu版本为:ubuntu-12.04.1-desktop-i386 这里有两种安装方法: =============第一种: 也是最简单的:进入li ...

  8. java nio使用方法(转)

    最近由于工作关系要做一些Java方面的开发,其中最重要的一块就是Java NIO(New I/O),尽管很早以前了解过一些,但并没有认真去看过它的实现原理,也没有机会在工作中使用,这次也好重新研究一下 ...

  9. 【HeadFirst设计模式】10.状态模式

    定义: 允许对象在内部状态改变时改变它 行为,对象看起来好像修改了它的类. OO原则: 封装变化 多用组合,少用继承 针对接口编程,不针对实现编程 为交互对象之间的松耦合设计而努力 类应该对扩展开放, ...

  10. htmlt中的块状元素与内联元素

    块元素(block element) address - 地址 blockquote - 块引用 center - 举中对齐块 dir - 目录列表 div - 常用块级容易,也是CSS layout ...