Ext formpanel的用法

formpanel是一个可以提交表单的panel布局

先来一个简单的例子:

var form1 = new Ext.form.FormPanel({
       width:350,
       frame:true,//圆角和浅蓝色背景
       renderTo:Ext.getBody(),//呈现
       title:"FormPanel",
       bodyStyle:"padding:5px 5px 0",
       defaults:{xtype:"textfield",width:200},
       items:[
          {
            fieldLabel:"UserName",//文本框标题
            name:"user",
            id:"user"
            
          },
          {
            fieldLabel:"PassWord",
            name:"pass",
            id:"pass"
          }
       ],
       buttons:[{text:"确定"},{text:"取消",handler:function(){alert("事件!");}}]
    });
效果如图:

关于其中的xtype,主要有以下几种:

form             Ext.FormPanel
checkbox         Ext.form.Checkbox
combo            Ext.form.ComboBox
datefield        Ext.form.DateField
field            Ext.form.Field
fieldset         Ext.form.FieldSet
hidden           Ext.form.Hidden
htmleditor       Ext.form.HtmlEditor
label            Ext.form.Label
numberfield      Ext.form.NumberField
radio            Ext.form.Radio
textarea         Ext.form.TextArea
textfield        Ext.form.TextField
timefield        Ext.form.TimeField

trigger          Ext.form.TriggerField

form本身是支持验证的

首先加上如下代码:

Ext.QuickTips.init();//支持tips提示
Ext.form.Field.prototype.msgTarget='side';//提示的方式,枚举值为"qtip","title","under","side",id(元素id)

空验证的参数

1.allowBlank:false//false则不能为空,默认为true

2.blankText:string//当为空时的错误提示信息

使用vtype验证的方法

vtype:"email",//email格式验证
vtypeText:"不是有效的邮箱地址",//错误提示信息

form验证中vtype的默认支持类型
1.alpha //只能输入字母,无法输入其他(如数字,特殊符号等)
2.alphanum//只能输入字母和数字,无法输入其他
3.email//email验证,要求的格式是"langsin@gmail.com"

4.url//url格式验证,要求的格式是http://www.langsin.com

另外我们也可以自定义验证函数,使用方法如下:

/先用Ext.apply方法添加自定义的password验证函数(也可以取其他的名字)
Ext.apply(Ext.form.VTypes,{
    password:function(val,field){//val指这里的文本框值,field指这个文本框组件
       if(field.confirmTo){//confirmTo是我们自定义的配置参数,一般用来保存另外的组件的id值
           var pwd=Ext.get(field.confirmTo);//取得confirmTo的那个id的值
           return (val==pwd.getValue());
       }
       return true;
    }
});
//配置items参数
items:[{fieldLabel:"密码",
                id:"pass1",
                anchor:"90%"
               },{
                fieldLabel:"确认密码",
                id:"pass2",
                vtype:"password",//自定义的验证类型
                  vtypeText:"两次密码不一致!",
                  confirmTo:"pass1",//要比较的另外一个的组件的id
                anchor:"90%"
}

更详细的内容可以参考如下的博客,这里有一个很复杂的例子很详细

http://yp.oss.org.cn/blog/show_resource.php?resource_id=770

 

总结一下,formpanel是一个panel组件,里面可以放入各种表单项,具体参考xtype,另外ext支持vtype的验证。另外就是要多做些复杂的from提交的例子。

转载于:https://my.oschina.net/zimingforever/blog/66054

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值