新增和编辑功能公用一个Ext.Window, 所以value 要写成value: obj.dictName这样,但是问题也就出现了,当我单击新增的时候 三个textfield一齐报错提示不能为空,怎么办啊?{
name : "bean.dictName", fieldLabel : "数据字典名称",
allowBlank: false, blankText: "不能为空,请填写",
maxLength : 128 , maxLengthText :"名称长度不能超过128",
value: obj.dictName,
anchor : "90%"
}
name : "bean.dictName", fieldLabel : "数据字典名称",
allowBlank: false, blankText: "不能为空,请填写",
maxLength : 128 , maxLengthText :"名称长度不能超过128",
value: obj.dictName,
anchor : "90%"
}
解决方案 »
- 在WEB上绘图的技术
- 选择器的问题
- Function()动态定义的函数,变量作用域问题。
- 【求助】aptana IDE的插件问题
- |zyciis| 在Jquery中 我想要获取当前对像时用$(this)不行,这样会返回jquery,我用$(this)也不行,要怎么办啊,谢谢
- 当前选项为this对象,有没有其相反的,就是除了当前this外的,如何得到this外的数据,q请用jquery
- 为什么我用这段JS来判断输入内容的有无和长短不起作用呢?
- 通过子窗口给父窗口的text赋值,为什么不成功?
- 请问怎样在web页中禁止鼠标右键???
- javascript外部连接运行报错
- 封装YUI DOC的JS文档化工具
- 页面搜索高亮
可以在编辑的时候加上:
Ext.applyIf(obj,{allowBlank:false,blankText:"不能为空,请填写"})
addDict = function(gridObject){
Ext.Ajax.request({
waitMsg : '读取数据',
url : BASE_PATH + "/system/DictInfoInit.action",
method : "GET",
callback : function(args, success, response) {
if(success){
var json = eval("("+response.responseText+")");
var obj = json["bean"];
var win = initWin(obj, gridObject);
win.show();
}
}
})
}
// 编辑数据字典信息
editDict = function(gridObject){
//判断是否有选中记录
if (gridObject.selModel.hasSelection()) {
// 获取被选中的记录数组
var records = gridObject.selModel.getSelections();
// 获取选中记录数量
var rLength = records.length;
if (rLength > 1) {
Ext.Msg.alert("系统提示", "只能选择一行记录进行编辑!");
} else {
// 获取选中的记录
var record = gridObject.getSelectionModel().getSelected();
Ext.Ajax.request({
waitMsg : '读取数据',
url : BASE_PATH + "/system/QueryDictInfoById.action?bean.dictId="+record.get('dictId'),
method : "GET",
callback : function(args, success, response) {
if(success){
var json = eval("("+response.responseText+")");
var obj = json["bean"];
var win = initWin(obj, gridObject);
win.show();
}
}
})
}
} else {
Ext.Msg.alert("系统提示", "请选择一行记录进行编辑!");
}
}
initWin = function(obj, gridObject){
var win = new Ext.Window({
title : "数据字典", width : 500,
height : 170, autoScroll : true,
// 弹出模态窗口
modal : true, shadow : true,
// 不可以随意改变大小
resizable : false, defaultType : "textfield",
labelWidth : 200, closeAction : "hide",
closable : true, plain : true,
buttonAlign : "center", bodyStyle : "padding:5px 5px 0 5px",
items : [{
xtype : "form", labelAlign : "right",
buttonAlign : "right", frame : true,
layout : 'column',
items : [{
columnWidth : 1, layout : 'form',
defaultType : 'textfield', labelAlign : "right",
items : [{
name : "bean.dictName", fieldLabel : "数据字典名称",
allowBlank: false, blankText: "不能为空,请填写",
maxLength : 128 , maxLengthText :"名称长度不能超过128",
value: obj.dictName,
anchor : "90%"
},{
name : "bean.dictCode", fieldLabel : "数据字典编码",
allowBlank:false, blankText:"不能为空,请填写",
maxLength : 64 , maxLengthText :"编码长度不能超过64",
value: obj.dictCode,
anchor : "90%"
},{
name : "bean.orderNum", fieldLabel : "显示顺序",
allowBlank:false, blankText:"不能为空,请填写",
regex : /^[0-9_]+$/, regexText : "只能输入数字",
value: obj.orderNum,
anchor : "90%"
}]
}
, {
layout : 'form', defaultType : 'hidden',
items : [{
name : 'bean.dictId'
,
value : obj.dictId
},{
name : 'bean.parentId'
, value : '0'
}]
}
]
}]
,
buttons : [{
text : "保存",
handler : function() {
if (!win.findByType("form")[0].form.isValid()) {
Ext.MessageBox.alert('提示', '请将数据填写完整');
return;
}
win.findByType("form")[0].form.submit({
url : BASE_PATH + '/system/AddSlawDictionary.action',
waitTitle : '提示',
method : 'POST',
waitMsg : '正在提交数据,请稍候.....',
success : function(form, action) {
Ext.Msg.alert("提示", "保存成功!");
win.close();
// 刷新表格
gridObject.store.reload({ params : { start : 0, limit : 15} });
dictionaryTree.root.reload();
dictionaryTree.expandAll();
},
failure : function(form, action) {
Ext.Msg.alert("提示", "返回数据出错!");
},
scope : this
});
}
},{
text : "关闭",
handler : function() {
win.close();
}
}],
scope: this
});
return win;
}