EXT两个小问题

问题一:

jsonString = "{totalCount:"+this.list.size()+"success:true"+",root:"+jsonArray.toString()+"}";

    var _jsonReader = new Ext.data.JsonReader( {
        root : 'root',
        totalProperty : 'totalCount',
        idProperty : 'id',
        remoteSort : false,
        successProperty : '@success'
    }, [{....................................

url : 'save.html',
method:'post',
[color=red] success: function(form, action){
Ext.Msg.alert('success', action.result.info);
ds.load();
editForm.reset();
editWindow.hide();
},
failure : function(form, action) {
Ext.Msg.alert('修改失败', '添加级别失败!');
}[/color]为什么红色这段代码不能执行

问题二:
//--定义编辑窗体

if(!editWindow)

{

editWindow = new Ext.Window({

el: 'edit_win',

title:'编辑记录',

width: 650,

height: 360,

closable: false,

closeAction: 'hide',

resizable: false,

items: editForm
});

editWindow.show(Ext.get('editDataButton'));

editWindow.items.itemAt(0).getForm().loadRecord(record);

}

editForm = new Ext.FormPanel( {
title: 'title',
frame: true,
width: 300,
labelAlign: 'right',
labelWidth: 60,
defaultType: 'textfield',
defaults: {
width: 200,
allowBlank: false
},
defaultType : 'textfield',
items : [{
id:'ids',

name : 'model.id'
},{
fieldLabel : '名字',
name : 'model.name'
},{
fieldLabel : 'itemName',
name : 'model.itemName'
},{
fieldLabel : 'itemValue',
name : 'model.itemValue'
},new Ext.form.TextArea( {
fieldLabel : 'remark',

name : 'model.remark'
}
)],

buttons : [{
text: '保存',
handler: function() {
if (editForm.form.isValid()) {
editForm.form.doAction('submit',{
url : 'save.html',
method:'post',
success: function(form, action){
Ext.Msg.alert('success', action.result.info);
ds.load();
editForm.reset();
editWindow.hide();
},
failure : function(form, action) {
Ext.Msg.alert('修改失败', '添加级别失败!');
}
});
}
}
},{
text : '取消',
handler : function() {
editWindow.hide();
}}
]

    }); 

[color=red]选择一行,点击修改,第一次可以弹出editWindow窗口,第二次点击就不能弹出该窗口,只有再刷新页面才能点击修改弹出窗口,我想不刷新出能弹出该窗口,怎样实现[/color]

[code="js"] success: function(form, action){
alert('test');
/*Ext.Msg.alert('success', action.result.info);
ds.load();
editForm.reset();
editWindow.hide();*/
},
failure : function(form, action) {
alert('test2');
//Ext.Msg.alert('修改失败', '添加级别失败!'); [/code]

按道理,怎么着也会进入一个.如果请求成功了就进入success,请求失败就进入failure
没有执行,只能说你压根就没有执行请求动作

第二道题
editWindow.hide(); 你这是隐藏了,我觉得还是destroy吧,每次点击的时候重新创建

closeAction: 'close',

第一个问题,
请问你用的是form.submit来提交的么?如果是的话,那两个方法肯定有一个会执行的啊
如果你用的是Ext.Ajax.request()来提交的话,那么你那两个函数的参数是错误的,所以不会执行

朋友,问题要自动关闭啦,结分哦