ExtJs中disabled和readOnly美观度的分析
ExtJs中,如果设置输入框为只读属性,一般第一考虑的都是readonly=true
它的效果和正常输入框一样,但是不允许输入;
然而,它很容易引起歧义,让用户第一感觉是它是输入框,有输入信息的冲动,其实不然;
这时候,可以考虑使用disabled=true属性
这下绝对不会认为可输入,一看就知道不允许修改,但字体颜色明显很模糊,所以效果不佳;
因此,使用中常常仍然使用readOnly=true,但修改背景颜色来做到disabled的更好效果表现,效果如下:
明显感觉就是禁止输入,而且字体清晰,代码片段如下:
{columnWidth : 1,
layout : 'form',
defaults : {
xtype : "textfield",
width : 150,
allowBlank : true,
readOnly : true,style:'background:#E6E6E6'
},
items:[
{fieldLabel:'事件标题',name:'event_title',width:435}
]
},
为什么要选择readOnly而不是disabled呢,还有一个明显的区别:
disabled=true,表单提交时候无法把数据传递到后台Action层,而readOnly=true可以;这个区别和html中标签的disabled和readOnly属性区别是一致的。