2 u014130696 u014130696 于 2014.03.19 11:34 提问

Extjs 在修改数据的时候,加载不了数据

在线等大神!


/**

  • 定义权限的左边store / var permissionStore =Ext.create('Ext.data.ArrayStore', { fields: ['value','text'], proxy: { type: 'ajax', url: path + '/manage/getRoles.do', reader: 'array', actionMethods : { read: 'post' }, }, autoLoad: true, sortInfo: { field: 'value', direction: 'ASC' } }); /*
  • 自定义一个plane,根据allowBlank显示是否有'*' */ Ext.define('editFormPanel', { extend: 'BasicFormPanel', initComponent: function() { this.on('beforeadd', function(me, field){ if(field.xtype == "fieldset") { for(var key in field.items.items) { if (!field.items.items[key].allowBlank) { field.items.items[key].labelSeparator += required; } } } else { if (!field.allowBlank) { // 处理textfield field.labelSeparator += required; } } }); this.callParent(arguments); } });

/**

  • 定义编辑用户页面显示模型 / Ext.define('editUserForm', { extend: 'editFormPanel', url: path + '/manage/saveUser.do', buttonAlign: 'right', reader: { type: 'json', root: 'user' },
    defaults: { labelWidth: 120, allowBlank: false }, defaultType: 'textfield', items: [{ xtype:'fieldset', title: '基本信息
    ', defaultType: 'textfield', layout: 'anchor', defaults: { allowBlank: false, anchor: '100%' }, items:[{ fieldLabel: '用户名', name: 'loginName', id: 'userName', blankText: '用户名不能为空', regex:/^[\u4e00-\u9fa5_a-zA-Z0-9_]{5,20}$/, regexText: '用户名需以字母开头,只能为中文,英文字母和数字及_组成(长度5-20位)!', listeners: { blur: function(field){ availableName(field); } } }/*,{
    fieldLabel : 'id' ,
    xtype : 'hidden',
    name : 'user.id', value: 'user.id', id:'id' }*/] },/*{ xtype:'fieldset', title: '扩展信息', defaultType: 'textfield', layout: 'anchor', defaults: { anchor: '100%' }, items:[{ fieldLabel: '固定电话', id: 'fixed', name: 'user.fixedTelephone', value: '', regex: /^(\d{3,4}-)?\d{7,8}$/, regexText: '不是有效的固定电话,固定电话格式为:"XXX-XXXXXXX"或"XXXXXXXX"' },{ fieldLabel: '移动电话', id: 'mobile', name: 'user.mobileTelephone', value: '', regex: /^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$/, regexText: '不是有效的移动电话' },{ fieldLabel: '邮件地址', id: 'email', name: 'user.mail', value: '', vtype: 'email', vtypeText: '不是有效的mail地址' }, { fieldLabel: '描述', id:'description', name: 'user.description', value: '', xtype: 'textareafield' }] }*/,{ xtype:'fieldset', title: '权限', defaultType: 'textfield', layout: 'anchor', defaults: { anchor: '100%' }, items:[{ xtype: 'itemselector', name: 'roleIdStr', id: 'itemselector-field', anchor: '100%', fieldLabel: '用户角色', imagePath: '../ux/images/', store: permissionStore, displayField: 'text', valueField: 'value', value: [], allowBlank: true, msgTarget: 'side', fromTitle: '角色列表', toTitle: '已选择', resetText: 'Reset' }] } ] });

/**

  • 验证用户名是否符合相应的格式及是否已经存在 */ function availableName(field) { var value = field.value; var result = false; if("" != value && (/^[\u4e00-\u9fa5_a-zA-Z0-9_]{5,20}$/.test(value))) { Ext.Ajax.request({ params:{'user.loginName':value},
    method:"POST", async: false, url:path + '/manage/checkNameExists.do', success:function(response){ var responseArray = Ext.JSON.decode(response.responseText); if(responseArray.isExists){ field.markInvalid("该用户名已经被占用!"); } else { result = true; } } }); } else { field.next().validate(); } return result; };

/**
* 在编辑用户表单里面新加保存提交按钮生成编辑用户页面
*/
Ext.define('editUser', {
extend: 'editUserForm',
buttons: [
{
text: '保 存',
handler: function() {
// 如果通过验证,手动调用ajax再次验证
var form = this.up('form').getForm();
if(form.isValid()) {
var userField = Ext.getCmp('userName');
var result = availableName(userField);
if(result) {
form.submit({
success: function(form, action) {
editUserWindow.close();
// 移除查询条件
searchCondition = {status:'ACTIVE'};
userStore.loadPage(1);
},
failure: function(form, actoin) {
showDefaultErrorMsg('错误', '数据异常,请确认后重新提交!');
}
});
}
}
}
}
]
});


var editForm = Ext.create('editUser');
/**
* 编辑用户窗口
*/
var editUserWindow = function(){
editUserWindow = Ext.create('Ext.window.Window', {
title: '编辑用户',
width: 500,
height: 480,
constrain:true, // 将拖动范围限制在容器内
resizable: false,
modal:true,
layout: 'fit',
items: editForm
});
editUserWindow.show();
};

/**
 * 编辑/查看用户
 */
var editUserBtn = Ext.create('Ext.button.Button', {
    text: '编辑用户',
    disabled: false,
    scope: this,
    iconCls:'edit',
    handler: function() {
        var id = selectBox(Ext.getCmp("grid"));
        if(null != id) {
            if(id.length > 1) {
                showDefaultMsg("提示", "只能同时编辑一个用户!");
            } else {
                editForm.form.load({  
                    url:path + '/manage/getUserById.do',
                    params: {id: id},
                    success : function(form,action) {
                        editUserWindow();
                        showDefaultMsg("提示", "载入用户信息成功!");
                    },
                    failure : function(form,action) {
                        console.log(action);
                        console.log(form);
                        //showDefaultMsg("提示", action.result.info);
                    }
                }); 
            }
        }
    }
});
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!