chsboy
2009-03-17 09:18
浏览 279

ext的form修改时要求有的字段置为灰,却得不到值?

修改记录时要求有的字段为灰不可修改,于是我设置该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]

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

7条回答 默认 最新

  • weixin_42312248 2009-03-17 10:36
    已采纳

    [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]

    这样即可达到你要的效果,你自己改变颜色

    点赞 评论
  • weixin_42312248 2009-03-17 09:53

    当你设置属性disabled时,浏览器就认为放弃该字段的内容,该字段的内容将不放入form中一起提交到后台。我在做法是设置该字段为readOnly,如果你需要它变灰色,可以通过style改变它的样式。

    点赞 评论
  • 马勒格彼得 2009-03-17 09:55

    disabled:true最好不要用这个属性,这个属性是指放弃这个控件,你可以使用readOnly来解决

    点赞 评论
  • playfish05 2009-03-17 09:55

    这是个奇怪的问题,disabled的表单一样是会提交的,跟有没disabled没有关系。或者你检查一下表单提交的方法,是否把disabled的字段给跳过了?

    如果没办法改造,可以折衷,复制一个一样的隐藏域来做提交。

    点赞 评论
  • playfish05 2009-03-17 09:56

    我错了,忽略我。楼上前2位的回答正解

    点赞 评论
  • 马勒格彼得 2009-03-17 10:08

    .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");

    点赞 评论
  • 马勒格彼得 2009-03-17 10:35

    兄弟,我这个就是操作某个指定控件的
    比如你的那个[color=red]主机代号[/color]吧,
    fieldLabel : '主机代号',

    name : 'NODEDC',
    [color=red]id:'NODEDC_ID' [/color]//唯一值,方便取对象
    下面是主机代码的颜色
    [color=red]addTextColor(form.findById("NODEDC_ID"),"color-gay");[/color]

    点赞 评论

相关推荐 更多相似问题