修改记录时要求有的字段为灰不可修改,于是我设置该ext form的字段disabled:true,可是提交时却不能从后台得到该字段的值,有没有办法解决这个矛盾的地方。
[b]问题补充:[/b]
to 各位:我以前是用的readonly,但要提示用户不用用户一个个试被否了,mgssnake把你的通过style改变它的样式的方法show我看看
[b]问题补充:[/b]
to leonelwong:我只要将ext form的其中一个input框置灰不是整个form类似如下:
[code="java"]
items : [{
layout : 'column',
border : false,
items : [{
columnWidth : .5,
layout : 'form',
border : false,
items : [{
xtype : 'textfield',
fieldLabel : '主机代号',
name : 'NODEDC',
readOnly : true,
//disabled:true,
anchor : '85%'
},{
xtype : 'textfield',
fieldLabel : '组号',
name : 'PMGROUP',
readOnly : true,
anchor : '85%'
}
[/code]
[code="java"]
new Ext.form.FormPanel({
renderTo : Ext.getBody(),
id:"test",
title : "Test",
items:[{
readOnly : true,
style : "background: #C1C1C1;",
//style : "color:red",
xtype : "textfield",
fieldLabel : "Text",
value : "textLibinbin"
},{
xtype : "textfield",
fieldLabel : "Text2"
}
]
})
[/code]
这样即可达到你要的效果,你自己改变颜色
当你设置属性disabled时,浏览器就认为放弃该字段的内容,该字段的内容将不放入form中一起提交到后台。我在做法是设置该字段为readOnly,如果你需要它变灰色,可以通过style改变它的样式。
disabled:true最好不要用这个属性,这个属性是指放弃这个控件,你可以使用readOnly来解决
这是个奇怪的问题,disabled的表单一样是会提交的,跟有没disabled没有关系。或者你检查一下表单提交的方法,是否把disabled的字段给跳过了?
如果没办法改造,可以折衷,复制一个一样的隐藏域来做提交。
我错了,忽略我。楼上前2位的回答正解
.color-gay{
color: gray;
}
//添加样式
function addTextColor(obj,cClass){
if(obj!=null&&typeof obj=='object'){
obj.addClass(cClass);
}
}
//去掉样式
function romoveTextColor(obj,cClass){
if(obj!=null&&typeof obj=='object'){
obj.removeClass(cClass);
}
}
//调用方法
addTextColor(Ext.get("控件ID"),"color-gay");
addTextColor(form.findById("控件ID"),"color-gay");
兄弟,我这个就是操作某个指定控件的
比如你的那个[color=red]主机代号[/color]吧,
fieldLabel : '主机代号',
name : 'NODEDC',
[color=red]id:'NODEDC_ID' [/color]//唯一值,方便取对象
下面是主机代码的颜色
[color=red]addTextColor(form.findById("NODEDC_ID"),"color-gay");[/color]