treepanle beforeNodeDrop事件异步问题

cuihao 2009-06-18 11:17:28
在beforeNodeDrop事件中,弹出确认窗口之后,用户还没选择“是”/“否”,代码还会继续往下走,

beforeNodeDrop = function beforeNodeDrop(e) {
var curTree = e.tree;// 得到当前的tree
var dropNode = e.dropNode;// 移动的节点
var targetNode = e.target;// 目标节点
var type = e.point;// 移动位置

Ext.Msg.confirm("系统提示", "你是否确定此操作?", function(_btn) {
if (_btn == "yes") {
...............
} else {
return false;
}
}, this);

.......其他代码

}


用下面的修改,问题还是一样存在,事件不等待Ext.Ajax.request的返回状态,继续向下执行,
beforeNodeDrop = function beforeNodeDrop(e) {

var curTree = e.tree;// 得到当前的tree

var dropNode = e.dropNode;// 移动的节点

var targetNode = e.target;// 目标节点

var type = e.point;// 移动位置
// alert(Ext.util.JSON.encode(dropNode.attributes));
// alert(Ext.util.JSON.encode(targetNode.attributes));
var flag = false;
Ext.Ajax.request({
url : '../common/Tree.jsp',
method : 'post',
params : {
begin : "",
end : ""
},
success : function(response, option) {
var res_res = Ext.util.JSON.decode(response.responseText);
if (res_res.success == true) {
flag = true;
} else {
flag = false;
}
},
failure : function(response, option) {
alert("异步通讯失败,请与管理员联系!");
}
});
return flag;
}

怎样实现,当移动节点是,会提示用户是否确定,等用户点击按钮以后在处理相应操作???????

...全文
75 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧