treepanle beforeNodeDrop事件异步问题

cuihao 2009-06-18 11:16:22
在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;
}

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


...全文
79 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
z1g2w3i4 2009-09-01
  • 打赏
  • 举报
回复
Ext.Msg.confirm("系统提示", "你是否确定此操作?", function(_btn) {
if (_btn == "yes") {
//删除的处理程序
}
}, this);

87,902

社区成员

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

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