`

extjs动态改变combobox的editable属性

阅读更多
//我能否在工号(usercode)的listeners里设置 用户权限(priority)的editable为true?怎么设置?直接用setDisabled()等就不能随form.submit()提交了;用setvisible就看不见了。谢谢了!

var StudentFormPanel = function() {/**$$$$$ */
var Width1=200;
var _form=this;
this.idTextField = {
// xtype : 'hidden',
xtype : 'textfield',
fieldLabel : "序号",
readOnly :true,
width:Width1,
name : "id"
};
this.usercodeTextField = {
xtype : 'textfield',
fieldLabel : "工号",
allowBlank : false,
maxLength:10,
minLength:1,
width:Width1,
regex: /^[0-9]{4,4}$/,
regexText:'只能输入四位数字!',
name : "usercode"
  ,listeners : {
'blur' : function (t, e) {
//我能否在此处设置 用户权限(priority)的editable为true?怎么设置?直接用setDisabled()等就不能随form.submit()提交了;用setvisible就看不见了。谢谢了! 
//var form = Ext.getCmp('regform');
var code = _form.getForm().findField("usercode").getValue();
if (code != '') {   
  Ext.Ajax.request({   
  url : 'yh.myaction?method=chkUsercode',
  //method : 'post',   
  params : {   
  usercode : code   
  },   
  success : function(response, options) {   
  var responseArray = Ext.util.JSON.decode(response.responseText);
  if (responseArray.message) {   
  //isUserCodeOK = false;   
  _form.form.findField("usercode")   
  .markInvalid('工号已被使用!');   
  } else {   
  //isUserCodeOK = true;   
  _form.form.findField("usercode").clearInvalid();   
  }   
  },
  failure:function(response, options){
  Ext.Msg.alert('提示', '后台错误!');
  }   
  })  
  }   
}
}
};
this.passwordTextField = {
xtype : 'textfield',
fieldLabel : "密码",
allowBlank : false,
maxLength:10,
minLength:1,
//inputType: 'password',
width:Width1,
regex:/^.{4,8}$/,
regexText:'长度4-8位',
name : "password"
};
this.usernameTextField = {
xtype : 'textfield',
fieldLabel : "姓名",
allowBlank : false,
maxLength:10,
minLength:1,
width:Width1,
name : "username"
};
this.sbpartidtTextField = {
  xtype: 'combo',
  fieldLabel: '部门',
  name: 'sbpartidt',
store:dsBm,
  mode: 'local',
triggerAction: 'all',
  valueField: 'value',
  displayField: 'text',
  width:Width1,
  editable:false,  
  hiddenName:'sbpartid'
  };
this.tjflagtTextField = {
  xtype: 'combo',
  fieldLabel: '统计标志',
  name: 'tjflagt',
  store: new Ext.data.SimpleStore({
  fields: ['value', 'text'],
  data : [
  ['0', '否'],
  ['1', '是']
  ]
  }),
  mode: 'local',
triggerAction: 'all',
  valueField: 'value',
  displayField: 'text',
  editable :false,
  width:Width1,
  hiddenName:'tjflag'
  };
this.priorityTextField = {
xtype: 'lovcombo',
fieldLabel: '用户权限',
name: 'priorityt',
store:new Ext.data.SimpleStore({
  fields: ['value', 'text'],
  data : [
  ['t', '填报'],
  ['c', '查询'],
  ['s', '审核'],
  ['g', '管理'],
['j', '统计']
  ]
  }),//填报t,查询c,审核s,管理g,统计j
mode: 'local',
triggerAction: 'all',
valueField: 'value',
displayField: 'text',
editable :false,
width:Width1,
hiddenName:'priority'
};


StudentFormPanel.superclass.constructor.call(this, {
bodyStyle : 'padding:5px 5px 0',
frame : true,
labelWidth:55,
reader : new Ext.data.JsonReader( {
root : 'list',
successProperty : 'success',
totalProperty : 'totalSize',
id : 'id'
}, ['id','usercode','password','username','sbpartid','tjflag','priority']),/**$$$$$ */
items : [this.idTextField, this.usercodeTextField, this.passwordTextField, this.usernameTextField, this.sbpartidtTextField, this.tjflagtTextField, this.priorityTextField]
});
}
Ext.extend(StudentFormPanel, Ext.form.FormPanel, {
loadData : function(id) {
var url = thisServlet + '?method=edit&id=' + id;/**$$$$$ */
this.getForm().load( {
url : url,
waitMsg : 'Loading',
failure : function(form, action) {
var json = action.response.responseText;
var o = eval("(" + json + ")");
Ext.MessageBox.show( {
title : 'Error',
msg : o.message,
buttons : Ext.MessageBox.OK,
icon : Ext.MessageBox.ERROR
});
}
});
}
});
 

// 配置 readOnly:true

blur : function(obj){
    obj.getEl().dom.readOnly = true;

}



分享到:
评论

相关推荐

    EXTJS的COMBOBOX级联实现和数据提交VALUE[文].pdf

    通过合理设置这些组件和属性,可以构建出具有动态联动效果的下拉菜单,同时确保在数据提交时正确地传递选定的值。这样的功能对于多级关联数据的输入场景非常有用,提高了用户界面的交互性和数据一致性。

    Extjs让combobox写起来简洁又漂亮

    同时,设置一些基本的属性如editable(是否可编辑)、labelSeparator(标签分隔符)、labelWidth(标签宽度)、triggerAction(触发动作)、labelAlign(标签对齐方式)、autoSelect(自动选择)、selectOnfocus...

    EXTJS属性文档

    本文将深入探讨EXTJS的一些重要属性,包括`Ext.form.TimeField`、`Ext.form.FieldSet`、`Ext.form.DateField`和`Ext.form.ComboBox`。 首先,`Ext.form.TimeField`是EXTJS中的一个时间选择控件,用于让用户选择一个...

    ExtJS中设置下拉列表框不可编辑的方法

    在前端开发中,ExtJS是一个广泛使用的JavaScript框架,它用于构建交互式...本篇内容详细介绍了如何通过设置`editable`和`typeAhead`属性来控制ExtJS中的下拉列表框是否可编辑,希望对遇到类似问题的开发者们有所帮助。

    Extjs属性大全

    以上属性和方法只是Extjs中的一部分,通过这些设置,开发人员可以根据实际需求定制自己的用户界面,并实现各种复杂的功能。Extjs的强大之处在于它提供了丰富的组件库以及灵活的配置选项,使得开发者能够轻松应对各种...

    Extjs控件属性(详细版)

    ### Extjs 控件属性详解 #### 一、Ext.form.TimeField 控件属性 **Ext.form.TimeField** 是Extjs框架中用于处理时间选择的一个控件。它提供了多种配置选项来帮助开发者灵活地控制时间的选择范围、格式以及输入验证...

    Extjs中ComboBoxTree实现的下拉框树效果(自写)

    在ExtJS中,为了实现一个具有下拉树结构的ComboBox,即ComboBoxTree,通常需要自定义组件,因为原生的ExtJS库并不直接提供这样的功能。以下是对标题和描述中所述知识点的详细解释: 1. **自定义组件**: 在ExtJS中...

    extjs控件属性

    以下是一些EXTJS控件的重要属性及其作用: 1. Ext.form.TimeField: - maxValue:设置控件允许的最大时间。 - maxText:当输入时间超过最大值时显示的错误提示。 - minValue:设置控件允许的最小时间。 - ...

    Extjs实现下拉菜单效果

    例如,width定义下拉树宽度,editable设置为false表示不可编辑,multiSelect设置为true表示可以多选。 3. 定义store属性,它包含了下拉树的数据源,这里初始值为空数组,但在实际应用中通常会指定包含具体数据的...

    Extjs 4.1 下拉框 Tree 的实现(mvc)

    本文将深入探讨如何在ExtJS 4.1环境中利用MVC架构实现一个功能丰富的下拉框(Tree ComboBox),并结合具体代码示例进行详细解析。 ### ExtJS 4.1 下拉框Tree实现(MVC) #### 1. MVC架构简介 MVC,即Model-View-...

    extjs中文api

    对于中文用户而言,《ExtJS中文API》是一个非常有用的资源,它详细介绍了ExtJS的所有组件、方法、属性等,并配有相应的示例代码,有助于更好地理解和运用这些功能。 根据提供的链接`...

    Extjs fieldset两行两列布局

    - 在设置`ComboBox`或`DateField`时,可以根据具体需求调整样式和其他属性。 #### 五、代码示例总结 ```javascript var setsc = new Ext.form.FieldSet({ title: 'fieldset', // 设置FieldSet的标题 height: 80,...

    Extjs单独定义各组件的实例代码

    这个实例展示了EXTJS如何创建交互式的用户界面,包括数据绑定、事件处理和动态加载数据。通过定义各种组件,用户可以进行商品种类选择、输入商品名称,并通过点击搜索按钮获取相关商品信息。此外,还提供了一个帮助...

    extJs4 toolbar工具条

    ### extJs4 toolbar工具条详解 #### 一、概述 `ExtJS` 是一款非常强大的企业级前端框架,它能够帮助开发者快速构建出美观且功能丰富的 Web 应用程序。在 `ExtJS 4` 版本中,`Toolbar`(工具栏)组件是一个重要的...

    ExtJS 设置级联菜单的默认值

    首先,需要明白在ExtJS中设置普通控件(如文本框)的默认值相对简单,通常只用一行代码即可完成。然而,对于ComboBox(下拉列表组件)来说,情况就没那么简单了。 在具体实现上,首先需要准备两个ComboBox组件,...

    Ext中下拉列表ComboBox组件store数据格式用法介绍

    在ExtJS中,下拉列表ComboBox组件是用于展示可选列表的交互控件,常用于表单输入。它提供了多种数据绑定方式,包括本地数据和远程数据。本篇文章将详细讲解Ext中下拉列表ComboBox组件的store数据格式及其用法。 ...

    Ext3.1 21款精美主题和动态换皮肤

    Ext动态换皮肤 1、在页面中增加一个放样式文件的地方: <script type="text/javascript" src="ext/2.0/adapter/ext/ext-base.js"></script> <script type="text/javascript" src="ext/2.0/ext-all.js"></script>...

Global site tag (gtag.js) - Google Analytics