`
holdbelief
  • 浏览: 706356 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Ext中动态改变控件的readOnly属性

EXT 
阅读更多

Ext 控件的readOnly属性是可以在控件初始化过程中配置的, 但是如果希望在运行时动态更改其readOnly属性怎么办,

例如 textField 控件,Ext2.x 的 API 上 它的方法有setDisabledBoolean disabled  ) : void方法,可以动态更改控件的disabled属性,却没有类似setReadOnly() 方法,我们可以这么做来运行时更改readOnly属性:

 

 

假设 某个textField, 它的 id = 'txt',

 

1. Ext.getCmp('txt').readOnly = false;

结果是这么写虽然可以更改控件的readOnly属性值, 但页面上的控件并没有变的可以修改。

2. 正确方法是这样的:Ext.getCmp("txt").getEl().dom.readOnly = false;

这样就行了。

 

问题虽小, 但是如果遇到却让人很恼火。 不知道为什么Ext不像Disabled一样提供一个setReadOnly()方法。

分享到:
评论
7 楼 wdxp2003 2009-09-08  
Ext.getCmp("txt").getEl().dom.readOnly = false;

为什么我按照lz的方法提示错误说Ext.getCmp("txt").getEl().dom不是对象呢
6 楼 deng131 2009-07-30  
aother4430 写道
如何更改ComboBox的readonly属性!

如何更改ComboBox的readonly属性!
5 楼 aother4430 2009-07-30  
如何更改ComboBox的readonly属性!
4 楼 peteraml1 2009-04-30  
引用

</head>
<body>
<input type='button' value="button"  onclick="clickButton()" />
</body>
</html>
<script language="javascript" >
var input = new Ext.form.TextField({
width : 200,
renderTo : document.body
})
function clickButton(){
    input.el.dom.readOnly = true;
}
</script>

这样就可以动态的改变readOnly的属性
3 楼 yuankai 2009-04-29  
这个是以GridPanel为例:
this.editGrid.on("beforeedit", Folder.beforeedit,  this.editGrid );
  
beforeedit : function(editorGridPanel){
      var editorGrid = Folder.editGrid;
              var folderNameValue = editorGridPanel.record.get("folderName");

              var folderNameIndex = editorGrid.getColumnModel().getIndexById("folderName");
             
              if (folderNameValue =='Inbox' || folderNameValue =='Draftbox' || folderNameValue == 'Outbox' || folderNameValue == 'TrashMailbox' || folderNameValue == 'Garbage'){
                    editorGrid.getColumnModel().getCellEditor(folderNameIndex,0)=new Ext.form.TextField({value: folderNameValue,readOnly:true});
                }
    }
2 楼 holdbelief 2009-04-27  
TextField有readOnly属性, 没错的
1 楼 stworthy 2009-04-25  
<div class="quote_title">holdbelief 写道</div>
<div class="quote_div">
<p>1. Ext.getCmp('txt').readOnly = false; </p>
</div>
<p>TextField可没有readOnly属性,所以这个语句并没有起到作用,仅是加上你的自定义属性readOnly</p>

相关推荐

    Ext Extjs 禁止文本和日期编辑

    在上述代码中,我们首先创建了一个`TextField`实例,并设置了其`readOnly`属性为`true`,这使得用户不能在文本框中输入或修改文本。你可以根据业务逻辑在合适的时间调用`setReadOnly`方法来切换文本框的可编辑状态。...

    EXT时间控件的扩展

    可动态显示年月,年月日,年月日时分,具体用法:{ xtype : 'textfield', anchor : '90%', fieldLabel:"生效时间" + CONSTANT.RED_FONT, allowBlank: false, name : ...

    asp.net TextBox控件设置ReadOnly后,不能回传。

    我用的是 ASP.NET 2.0,当改成 ASP.NET 1.0,就正常了,TextBox控件ReadOnly=True,能回传。 在 ASP.NET 1.0 中是ReadOnly=True会回传的。 在 ASP.NET 2.0 中是ReadOnly=True就不会回传了。 解决的方法: ”...

    .NET中TextBox控件设置ReadOnly=true后台取不到值三种解决方法

    当TextBox设置了ReadOnly=”true” 后,要是在前台为控件添加了值,后台是取不到的,值为“空” 原理没想通,说不清楚微软是出于什么考虑的,不过有时是要我们能通过前台脚本来填充值,并不希望用户修改其控件内容,...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -ExtAspNet支持原生的AJAX,也就是说控件的属性改变在AJAX过程中会反映到页面中,但并不是所有的控件属性都支持AJAX改变。 -加载s.gif图片在本机进行,不会请求extjs.com远程资源(feedback:efrigate43,abaocoole)...

    ExtAspNet_v2.3.2_dll

    -ExtAspNet支持原生的AJAX,也就是说控件的属性改变在AJAX过程中会反映到页面中,但并不是所有的控件属性都支持AJAX改变。 -加载s.gif图片在本机进行,不会请求extjs.com远程资源(feedback:efrigate43,abaocoole)...

    基于extjs的.NET3.5控件Coolite 1.0.0.34580(Preview预览版)

    基于extjs的.NET3.5控件Coolite 1.0.0.34580 (Preview预览版), *************************************************** * Version 1.0.0 升级日志 * *************************************************** 1. ...

    WpfPropertyGrid

    这个控件允许用户以网格的形式查看和修改对象的属性,提供了类似于Visual Studio中属性窗口的功能。 `WpfPropertyGrid`控件通常用于创建数据绑定的表单或编辑器,它能够自动生成一个可交互的属性列表,其中包含了...

    MINNIGUI常见问题

    需要注意的是,在某些控件中,`READONLY`属性的名称可能会有所不同,因此在具体使用时需参考对应控件的文档说明。 ##### 2. 编辑框光标异常闪烁 - **问题描述**:编辑框中不应该出现光标闪烁的情况,但实际运行时...

    用My97扩展ExtJs日期时间插件 (EXT不支持时分秒,我们借助my97完成需求)

    在EXTJs框架中,日期时间选择通常通过DateTimeField控件实现,然而,EXTJs的原生DateTimeField组件并不支持选择时、分、秒,这在某些需要精确到分钟或秒的场景下显得不足。为了解决这个问题,我们可以利用My97...

    NVKindEditor3.5.4面向对象版(修改)

    通过修改后该版本可以灵活地实例化对象,因此可以更加好地整合到EXTJS框架,目前我已经将该控件集成到了我们用的EXTJS框架,该控件的用法和EXT内的控件一样的使用,下面为一点相关代码: getValue: function () { ...

    html form表单input使用disabled后提交不能获取表单值的解决方法

    form表单输入框input设置disable属性提交后,得不到该输入框的值,解决该类问题可以参考下面两个方法: 方法一: 使用readonly带替代disabled,即把 disabled="disabled" 修改为 readonly="readonly" 二者区别: ...

    extjs的spinner

    首先,我们需要了解 `Ext.form.field.Spinner` 类的基础属性和方法。 ##### 2.1 定义一个自定义 Spinner ```javascript Ext.define('Ext.ux.CustomSpinner', { extend: 'Ext.form.field.Spinner', alias: 'widget...

    my97日历控件

    {name:"ext",charset:"gb2312"}, {name:"blueFresh",charset:"gb2312"}, {name:"twoer",charset:"gb2312"}, {name:"YcloudRed",charset:"gb2312"}], $wdate:true, $crossFrame:true, $preLoad:false, $dpPath:"...

    Python Tkinter Entry和Text的添加与使用详解

    `state="readonly"`表示用户只能选择列表中的值,不能手动输入;`state="disabled"`则完全禁止用户操作。通过`set()`方法,可以设定默认选中的列表项。 总的来说,Python Tkinter库提供了一套丰富的组件来构建用户...

    在textarea输入Tab

    要改变`&lt;textarea&gt;`中Tab键的行为,可以通过监听键盘事件来实现。具体来说,可以使用`addEventListener`方法添加一个事件监听器来捕获`keydown`或`keypress`事件。 #### 3.2 代码示例 下面是一个简单的示例,演示了...

Global site tag (gtag.js) - Google Analytics