`
microboat
  • 浏览: 59767 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

带验证码和单位的文本框

阅读更多

先上效果图:

 

源代码和说明:

 

Ext.namespace('Boat.UI');

///带单位的文本框
Boat.UI.UnitField = Ext.extend(Ext.form.TextField,{
    /*单位说明文字*/
    unitText:'',
    
    onRender: function(ct, position){
        Boat.UI.UnitField.superclass.onRender.call(this, ct, position);
        this.unitEl = ct.createChild({tag:'span',html:this.unitText});
        this.unitEl.addClass('x-form-unit');
    },
    
    alignErrorIcon : function(){
        this.errorIcon.alignTo(this.unitEl,'tl-tr',[2, 0]);
    }
});
Ext.reg('unitfield', Boat.UI.UnitField);

///验证码文本框
Boat.UI.CodeField = Ext.extend(Ext.form.TextField,{
    /*获取验证码图片的后台Url*/
    codeUrl:Ext.BLANK_IMAGE_URL,
    
    /*是否自动加载验证码图片*/
    autoLoad:true,
    
    onRender: function(ct, position){
        Boat.UI.CodeField.superclass.onRender.call(this, ct, position);
        this.codeEl = ct.createChild({tag:'img',src:Ext.BLANK_IMAGE_URL});
        this.codeEl.addClass('x-form-code');
        this.codeEl.on('click',this.loadCodeImg,this);
        
        if(this.autoLoad) this.loadCodeImg();
    },

    alignErrorIcon : function(){
        this.errorIcon.alignTo(this.codeEl,'tl-tr',[2, 0]);
    },
    
    /*加载验证码图片方法,加上随机数参数让图片刷新*/
    loadCodeImg: function(){
        this.codeEl.set({src:this.codeUrl+'?id='+Math.random()});
    }
});
Ext.reg('codefield', Boat.UI.CodeField);

 带注释的代码是扩展的地方

 

CSS样式代码:

.x-form-code{width:50px;height:22px;vertical-align:middle;padding-left:2px;cursor:pointer;}
.x-form-unit{height:22px;line-height:22px;padding-left:2px;display:inline-block;}

 

使用方法:

    <script type="text/javascript">
        Ext.BLANK_IMAGE_URL = '/resources/images/default/s.gif';
        Ext.form.Field.prototype.msgTarget = 'side';
        Ext.QuickTips.init();
        Ext.onReady(function(){
            var form = new Ext.FormPanel({
                title:'验证码和单位文本框',
                renderTo:'form1',
                labelWidth:60,
                labelAlign: 'right',
                frame:true,
                bodyStyle:'padding:5px',
                width:300,
                height:200,
                items:[
                    {xtype:'codefield',fieldLabel: '验证码',width:60,allowBlank: false,
                        codeUrl:'http://localhost/cgi/getCheckCode.ashx'},
                    {xtype:'unitfield',fieldLabel: '库存数量', unitText:'吨', width:60,allowBlank: false}
                ]
            });
        });
    </script>

 

  • 大小: 34.3 KB
分享到:
评论
1 楼 yourgame 2009-04-28  
能说说开发自定义组件一般要注意哪些东西,
比如要实现或者重写哪些方法?
对css要注意些什么?

相关推荐

    ASP.NET 验证码控件及其好用【推荐】

    ImageStyle.TextFontSize:文本字体大小,以像素(pix)为单位,验证码图像大小根据此而变化,如果ImgSize大于由该值指定的大小,则图像大小为ImgSize ImageStyle.ImgSize:验证码图像大小,以像素(pix)为单位,如果...

    .Net 验证码控件

    ImageStyle-TextFontSize:文本字体大小,以像素(pix)为单位,验证码图像大小根据此而变化,如果ImgSize大于由该值指定的大小,则图像大小为ImgSize ImageStyle-ImgSize:验证码图像大小,以像素(pix)为单位,如果...

    .Net 验证码控件【拖入即可应用】

    ImageStyle.TextFontSize:文本字体大小,以像素(pix)为单位,验证码图像大小根据此而变化,如果ImgSize大于由该值指定的大小,则图像大小为ImgSize ImageStyle.ImgSize:验证码图像大小,以像素(pix)为单位,如果...

    生成验证码控件

    ImageStyle.TextFontSize:文本字体大小,以像素(pix)为单位,验证码图像大小根据此而变化,如果ImgSize大于由该值指定的大小,则图像大小为ImgSize ImageStyle.ImgSize:验证码图像大小,以像素(pix)为单位,如果...

    InPutEditText.zip

    通过"InPutEditText"这个自定义View,开发者可以创建一个具有独特设计和交互的验证码输入框,增强用户在移动应用中的验证体验。了解和掌握以上知识点,不仅能帮助你理解和使用这个自定义View,还能为你的Android开发...

    2.企业安全生产标准化信息管理系统用户操作手册(评审组织单位端).docx

    通过仔细阅读和理解这些指南,可以有效地提高工作效率,确保所有流程顺利进行。同时,也需要注意各个步骤中的细节要求,比如密码保护措施、申请处理中的必填项以及文件上传的要求等,这些都是确保系统正常运行的关键...

    培训教程.ppt

    - 指定申请使用的时间段,通常以课节为单位。选择课节时,可点击文本框弹出选择框,勾选所需课节。 4. **教室选择**: - 如果对教室位置无特定要求,直接点击“查询”即可。 - 若有特定需求,点击“选择”按钮,...

    2020学年第一学期网页设计与制作期末考试试卷(A卷) 19电商3.docx

    22. **验证码**:验证码通常以图像形式显示,由服务器生成,用于防止自动化的机器人或恶意软件。 23. **Flash元件**:Flash元件包括图形、按钮和影片剪辑,但不包括图像。 24. **动作触发**:在网页设计中,动作...

    第21章 ValidateBox(验证框)组件1

    // 检查验证码文本框是否有效 console.log($('#email').validatebox('validate')); // 获取验证结果 console.log($('#email').validatebox('isValid')); // 禁用和启用验证 $('#email').validatebox('...

    primeface参考书

    PrimeFaces组件库包含了大量预构建的UI组件,覆盖了从基本的按钮、文本框到复杂的图表、地图等多种类型。这些组件不仅配置简单,而且功能强大,极大地提高了开发效率和用户体验。以下是部分核心组件的详细介绍: 1....

    精易模块[永久免费] V3.12

    ' 修复 - 网页_访问() GET访问带上Cookie无效的BUG 感谢坛友[ldojh]提醒 ' 修复 - 网页_访问() 一直访问句柄数会一直涨的BUG ' 修复 - 时间_取中国星期几 () 感谢坛友[sqdwvf]提醒 ' 修复 - 网页_验证码读取 () 增加...

    JAVA上百实例源码以及开源项目源代码

    Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰效果 Java绘制图片火焰效果,源代码相关注释:前景和背景Image对象、Applet和绘制火焰的效果的Image对象、Applet和绘制火焰的效果的Graphics对象、...

Global site tag (gtag.js) - Google Analytics