Ext.onReady(function(){
Ext.BLANK_IMAGE_URL = '../ext/resources/images/default/s.gif';
Ext.QuickTips.init();//显示错误提示字符做准备
//准备下拉框的数据
var mydata = new Ext.data.SimpleStore({
fields:['id','myda'], //指定数组中数据格式
data:[['1','语文'],['2','数学'],['3','物理']]
});
var mydata2 = new Ext.data.SimpleStore({
fields:['id','myda'],
data:[
['0','zhangsan'],
['1','lisi'],
['2','wangwu'],
['3','zhaoliu']
]
}); var myForm = new Ext.form.FormPanel({
url:'1.html', //表单提交地址
renderTo:Ext.get("id1"), //显示位置
//renderTo:document.body,
frame:true, //自定义边框
title:"表单",
width:300,
items:[
{
xtype:'textfield',
fieldLabel:'用户名',
width:150,
allowBlank:false,//非空校验
name:'username',
//添加事件
listeners:{
specialkey:function(f,e){
if(e.getKey() == e.ENTER) {
Ext.Msg.alert("提交","太极");
myForm.getForm().submit();
}
}
}
},
{
xtype:'textfield',
fieldLabel:'邮箱',
width:150,
vtype:'email',//vtype是提供的内部校验
name:'email'
},
{
xtype:'datefield',
fieldLabel:'日期',
width:150,
disabledDays:[1,2,3,4,5],//禁止输入星期一到星期五,0代表星期天
name:'bay'
},
{
xtype:'textfield',
fieldLabel:'测试一',
width:150,
vtype:'name',
name:'text1'
},
//单选框
{
xtype:'radio',
fieldLabel:'性别',
name:'sex',
boxLabel:'男'
},
{
xtype:'radio',
hideLabel:false,
name:'sex',
boxLabel:'女',
labelSeparator:''
},
//复选框
{
xtype:'checkbox',
fieldLabel:'爱好',
name:'hate',
boxLabel:'唱歌'
},
{
xtype:'checkbox',
hideLabel:false,
name:'hate',
boxLabel:'跳舞',
labelSeparator:''
},
{
xtype:'checkbox',
hideLabel:false, //只显示在右侧
name:'hate',
boxLabel:'爬山',
labelSeparator:''
},
//下拉框
{
xtype:'combo',
name:'class',
fieldLabel:'科目',
mode:'local', //数据来自本地还是远程
store:mydata,//数据来源
displayField:'myda',//显示内容
width:150
},
//文本框
{
xtype:'textarea',
name:'des',
hideLabel:true, //左右都显示
labelSeparator:'',
height:100,
anchor:'100%' //全屏显示
},
//编辑框
{
xtype:'htmleditor',
name:'des',
hideLabel:true,
labelSeparator:'',
height:100,
anchor:'100%'
},
{
xtype:'combo',
name:'name',
fieldLabel:'姓名',
mode:'local',
store:mydata2,
displayField:'myda',
width:130,
listeners:{
select:function(f,r,i) {
//选中id==1时
if(i == 1 ){
Ext.Msg.prompt('提示','姓名',Ext.emptyFn());
}
},
expand:function(f,r,i) {
Ext.Msg.alert('提示','你展开了下拉框');
}
}
}
],
//提交表单
buttons:[
{
text:'提交',
handler:function(){
myForm.getForm().submit({
success:function(f,a){//f为表单对象,a为action对象
Ext.Msg.alert('提示','提交成功');
},
failure:function(f,a) {
//Ext.Msg.alert('提示','提交失败');
if(a.failureType == Ext.form.Action.CONNECT_FAILURE){
Ext.Msg.alert('提示','a=' + a.response.status +'a='+a.response.statusText);
}
if(a.failureType == Ext.form.Action.SERVER_INVALID) {
Ext.Msg.alert('提示',a.result.errormsg);
}
}
});
}
},
{
text:'重置',
handler:function(){
myForm.getForm().reset();
}
}
]
});
//自定义校验,/^[A-Z][A-Za-z\-]+[A-Z][A-Za-z\-]+$/
Ext.form.VTypes['nameVal'] =  /^[A-Z][A-Za-z\-]+[A-Z][A-Za-z\-]+$/;  //校验所需要的正则表达式
Ext.form.VTypes['nameMask'] =  /^[A-Z][A-Za-z\-]$/;   //掩码,首字母没大写就显示错误
Ext.form.VTypes['nameText']  =  'In‐valid  Director  Name.'; //错误提示内容
Ext.form.VTypes['name'] =  function(v){  
  return  Ext.form.VTypes['nameVal'].test(v); 
}  
});

extjs表单的更多相关文章

  1. Extjs表单控件入门

    ExtJs表单控件用formPanel来做为表单元素的容器.默认情况下,是使用Ajax异步提交. 大家知道要使用Extjs必须引入他的库,所以我们要引入以下几个文件: ext-all.css ext- ...

  2. extjs表单验证

    extjs表单验证 //放在onReady的function(){}中 Ext.QuickTips.init(); //为组件提供提示信息功能,form的主要提示信息就是客户端验证的错误信息. Ext ...

  3. ExtJS 表单 submit时错误处理

    这里不提success,提提Extjs 表单提交的failure方法. 在表单的提交中,当发生异常行为时通常分为三种情况 1. 无法连接到服务器 2. 表单验证错误 3. 业务逻辑错误 对应下面的代码 ...

  4. EXTJS 表单提交

    EXTJS框架中,在提交表单时,可有3种方式: 方法一: 普通的 Form 提交方式, 主要使用 form.submit() 方法来将表单提交到后台,在后台是根据表单的 name 属性来获取表单中元素 ...

  5. NSS_08 extjs表单验证

    Extjs做了非常好的表单验证功能, 使用起来非常方便. 系统内置了4种验证功能,分别是alpha, alphanumeric,url, email, 在程序中可以直接使用,(可以结合allowBla ...

  6. Extjs 表单提交送给新手

    Extjs的三种提交方式: 表单Ajax提交,普通提交,单独Ajax提交: 1.表单ajax提交(默认提交方式) 提交函数:当按下表单中的提交按钮时执行下面的btn函数,按照表单的name进行提交.提 ...

  7. Extjs 表单验证后,几种错误信息展示方式

    今天要求对form表单验证,进行系统学习一下,故做了几个示例: Ext.onReady(function(){        var panel=Ext.create('Ext.form.Panel' ...

  8. Extjs表单验证小结

    //放在onReady的function(){}中 Ext.QuickTips.init(); //为组件提供提示信息功能,form的主要提示信息就是客户端验证的错误信息. Ext.form.Fiel ...

  9. 关于extjs表单布局的几种方式

    一.用column布局 layout:'column', defaults:{ style:'float:left;margin:4px;', columnWidth: 0.49, msgTarget ...

随机推荐

  1. gethostbyname() -- 用域名或主机名获取IP地址

    #include <netdb.h>    #include <sys/socket.h> struct hostent *gethostbyname(const char * ...

  2. python中eval, exec, execfile,和compile [转载]

    eval(str [,globals [,locals ]])函数将字符串str当成有效Python表达式来求值,并返回计算结果. 同样地, exec语句将字符串str当成有效Python代码来执行. ...

  3. Android GsonUtils工具类

    有那么一个开源jar包,叫gson 可以很方便的将java中的对象和字符串相互转化,数据传输和处理的时候,用到的可能性很大 https://github.com/google/gson http:// ...

  4. 算法练习之DP 求LCM (最长公共子序列)

    1. 对于序列x[1,i]和y[1,j],推导递推公式1.a 假设当前元素同样,那么就将当前最大同样数+12.b 假设当前元素不同.那么就把当前最大同样数"传递"下去 因此递推公式 ...

  5. Codeforces Round #270 A~D

    Codeforces Round #270 A. Design Tutorial: Learn from Math time limit per test 1 second memory limit ...

  6. POJ 3304 Segments(计算几何)

    意甲冠军:给出的一些段的.问:能否找到一条直线,通过所有的行 思维:假设一条直线的存在,所以必须有该过两点的线,然后列举两点,然后推断是否存在与所有的行的交点可以是 代码: #include < ...

  7. TPersistent的三个用途(读写DFM文件,Assign,RTTI),最主要还是第三个用途

    不是什么类对象都需要RTTI,如果把它放在TObject,除了增加可执行文件的大小以及运行内存空间以外,没什么好处.

  8. perl 函数回调 引用$client->run(sub {$client->sync});

    匿名函数引用: [root@wx03 wx]# perl a1.pl CODE(0x2077b30) test [root@wx03 wx]# cat a1.pl $ref= sub {return ...

  9. 类作为返回类型 ,具有java特点-封装等 而且应用起来很方便。

    public class StudentDao { public Student getStudent(){ Student stu = new Student(); stu.setName(&quo ...

  10. Cookie 路径在本机测试及服务器部署,在浏览器处理方式上的不同

    Table of Contents 1 问题场景 2 解决过程 2.1 cookie是否设置成功 2.2 cookie是否上传到服务器 3 总结 1 问题场景 最近在学用Python进行web开发,写 ...