//我能否在工号(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;
}
分享到:
相关推荐
通过合理设置这些组件和属性,可以构建出具有动态联动效果的下拉菜单,同时确保在数据提交时正确地传递选定的值。这样的功能对于多级关联数据的输入场景非常有用,提高了用户界面的交互性和数据一致性。
同时,设置一些基本的属性如editable(是否可编辑)、labelSeparator(标签分隔符)、labelWidth(标签宽度)、triggerAction(触发动作)、labelAlign(标签对齐方式)、autoSelect(自动选择)、selectOnfocus...
本文将深入探讨EXTJS的一些重要属性,包括`Ext.form.TimeField`、`Ext.form.FieldSet`、`Ext.form.DateField`和`Ext.form.ComboBox`。 首先,`Ext.form.TimeField`是EXTJS中的一个时间选择控件,用于让用户选择一个...
在前端开发中,ExtJS是一个广泛使用的JavaScript框架,它用于构建交互式...本篇内容详细介绍了如何通过设置`editable`和`typeAhead`属性来控制ExtJS中的下拉列表框是否可编辑,希望对遇到类似问题的开发者们有所帮助。
以上属性和方法只是Extjs中的一部分,通过这些设置,开发人员可以根据实际需求定制自己的用户界面,并实现各种复杂的功能。Extjs的强大之处在于它提供了丰富的组件库以及灵活的配置选项,使得开发者能够轻松应对各种...
### Extjs 控件属性详解 #### 一、Ext.form.TimeField 控件属性 **Ext.form.TimeField** 是Extjs框架中用于处理时间选择的一个控件。它提供了多种配置选项来帮助开发者灵活地控制时间的选择范围、格式以及输入验证...
在ExtJS中,为了实现一个具有下拉树结构的ComboBox,即ComboBoxTree,通常需要自定义组件,因为原生的ExtJS库并不直接提供这样的功能。以下是对标题和描述中所述知识点的详细解释: 1. **自定义组件**: 在ExtJS中...
以下是一些EXTJS控件的重要属性及其作用: 1. Ext.form.TimeField: - maxValue:设置控件允许的最大时间。 - maxText:当输入时间超过最大值时显示的错误提示。 - minValue:设置控件允许的最小时间。 - ...
例如,width定义下拉树宽度,editable设置为false表示不可编辑,multiSelect设置为true表示可以多选。 3. 定义store属性,它包含了下拉树的数据源,这里初始值为空数组,但在实际应用中通常会指定包含具体数据的...
本文将深入探讨如何在ExtJS 4.1环境中利用MVC架构实现一个功能丰富的下拉框(Tree ComboBox),并结合具体代码示例进行详细解析。 ### ExtJS 4.1 下拉框Tree实现(MVC) #### 1. MVC架构简介 MVC,即Model-View-...
对于中文用户而言,《ExtJS中文API》是一个非常有用的资源,它详细介绍了ExtJS的所有组件、方法、属性等,并配有相应的示例代码,有助于更好地理解和运用这些功能。 根据提供的链接`...
- 在设置`ComboBox`或`DateField`时,可以根据具体需求调整样式和其他属性。 #### 五、代码示例总结 ```javascript var setsc = new Ext.form.FieldSet({ title: 'fieldset', // 设置FieldSet的标题 height: 80,...
这个实例展示了EXTJS如何创建交互式的用户界面,包括数据绑定、事件处理和动态加载数据。通过定义各种组件,用户可以进行商品种类选择、输入商品名称,并通过点击搜索按钮获取相关商品信息。此外,还提供了一个帮助...
### extJs4 toolbar工具条详解 #### 一、概述 `ExtJS` 是一款非常强大的企业级前端框架,它能够帮助开发者快速构建出美观且功能丰富的 Web 应用程序。在 `ExtJS 4` 版本中,`Toolbar`(工具栏)组件是一个重要的...
首先,需要明白在ExtJS中设置普通控件(如文本框)的默认值相对简单,通常只用一行代码即可完成。然而,对于ComboBox(下拉列表组件)来说,情况就没那么简单了。 在具体实现上,首先需要准备两个ComboBox组件,...
在ExtJS中,下拉列表ComboBox组件是用于展示可选列表的交互控件,常用于表单输入。它提供了多种数据绑定方式,包括本地数据和远程数据。本篇文章将详细讲解Ext中下拉列表ComboBox组件的store数据格式及其用法。 ...
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>...