梦相随1006

版权归 梦相随1006 所有,未经 https://www.cnblogs.com/xin1006 作者许可,严禁转载

导航

ExtJS4为form表单必填项添加红色*标识

 

通常情况下,ExtJS4的form表单必填项在输入状态下会有特殊提示,非输入状态下,显示却和其他项没有任何区别。为使必填项更加容易区分,我们需要根据allowBlank的属性值,为form表单中的必填项添加红色*标识

 

在ExtJS4的form表单中,常用组件的继承关系图1-1:

//为form表单中必填项添加红色*号标志
 Ext.override(Ext.form.field.Base,{
//针对form中的基本组件   
  initComponent:function(){  
  if(this.allowBlank!==undefined && !this.allowBlank){
   if(this.fieldLabel){
       this.fieldLabel = '<font color:red">*</font>'+this.fieldLabel;
     }
    }
    this.callParent(arguments);
  }
});

  有基本组件,必然就有非基本组件:CheckboxGroup、RadioGroup、FieldContainer和FieldContainer,它们通常是存放多个基本组件的集合,我们称之为容器组件,它们的继承关系

 

Ext.override(Ext.container.Container,{
//针对form中的容器组件
 initComponent:function(){
 if(this.allowBlank!==undefined && !this.allowBlank){
 if(this.fieldLabel){
 
this.fieldLabel = '<font color:red">*</font>'+this.fieldLabel; 
} } this.callParent(arguments); } }); 

 

最后,需要说明的是,在给必填项添加红色*的时候,我们是将*号直接添加到标签上的,事实上单就标签,ExtJS也为我们提供了丰富的配置项:
            labelAlign:标签的位置。值可以为top、left或者right,默认为left
            labelCls:应用到标签的样式类名称。默认为”x-form-item-label”
            labelPad:设置标签的内补丁。默认为5
            labelSeparator:标签文本后的符号,默认为英文的冒号( : )
            labelStyle:应用到标签的样式
            labelWidth:标签的宽度,默认为100
 
原文链接:http://blog.sina.com.cn/s/blog_8843dc110101ed32.html 

 

posted on 2015-12-10 19:48  梦相随1006  阅读(1582)  评论(0编辑  收藏  举报