论坛首页 AJAX版 EXT

Ext.MessageBox异步的问题

浏览 2324 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
最后更新时间:2008-07-23
Ext.MessageBox.confirm是异步在,也就是说弹出确认窗口之后,用户还没选择“是”/“否”,代码还会继续往下走,如下面在代码,会弹出alert("111");
有没有办法控制程序为:用户选择完“是”/“否”,才继续往下执行代码。
别告诉我要放在function(button,text)里面哦。

<script type="text/javascript">      
    Ext.onReady(function(){
      Ext.MessageBox.confirm("请确认","是否真的要删除指定的内容",function(button,text){
          alert("22");
      });
      alert("111");
    });
</script>



//-------新加的部分:
to楼下几位高手,其实是这样的,我监听了树形控件的
beforenodedrop : ( Object dropEvent )
Fires when a DD object is dropped on a node in this tree for preprocessing. Return false to cancel the drop. The drop...

事件,这个事件是节点被拖曳放开之前触发的,我是想当用户拖曳完之后,让用户确认是否拖曳,如果用户选择“是”之后,再移动节点。如下方代码,但实际发生的事情为:弹出确认框之后,马上就被运行第7行了:return false
function beforenodedrop(e)
{      
  Ext.MessageBox.confirm("请确认","是否要移动节点",function(button,text){
    if(button=="yes")
      return true;
  });
    return false;
}
   
最后更新时间:2008-07-23
Ext.Msg.confirm('删除数据','您确认要删除选中的数据吗?',function(btn){ if (btn=='yes'){ //delete }else{ //取消 } } 楼主猜对了
   
0 请登录后投票
最后更新时间:2008-07-23
xxxx3 写道
Ext.MessageBox.confirm是异步在,也就是说弹出确认窗口之后,用户还没选择“是”/“否”,代码还会继续往下走,如下面在代码,会弹出alert("111");
有没有办法控制程序为:用户选择完“是”/“否”,才继续往下执行代码。
别告诉我要放在function(button,text)里面哦。

<script type="text/javascript">      
    Ext.onReady(function(){
      Ext.MessageBox.confirm("请确认","是否真的要删除指定的内容",function(button,text){
          alert("22");
      });
      alert("111");
    });
</script>

用一个setTimeout去调用,直接confirm里付值给变量
   
0 请登录后投票
最后更新时间:2008-07-23
lims 写道
xxxx3 写道
Ext.MessageBox.confirm是异步在,也就是说弹出确认窗口之后,用户还没选择“是”/“否”,代码还会继续往下走,如下面在代码,会弹出alert("111");
有没有办法控制程序为:用户选择完“是”/“否”,才继续往下执行代码。
别告诉我要放在function(button,text)里面哦。

<script type="text/javascript">      
    Ext.onReady(function(){
      Ext.MessageBox.confirm("请确认","是否真的要删除指定的内容",function(button,text){
          alert("22");
      });
      alert("111");
    });
</script>

用一个setTimeout去调用,直接confirm里付值给变量

confirm 里就不需要settimeout了

settimeout在外面的话同样靠不住。
   
0 请登录后投票
最后更新时间:2008-07-23
to xxxx3

代码放在callback中有什么问题吗?
我实在想象不出来放在  Ext.MessageBox.confirm()外有什么好处。
   
0 请登录后投票
最后更新时间:2008-07-24
to楼上几位高手,其实是这样的,我监听了树形控件的
beforenodedrop : ( Object dropEvent )
Fires when a DD object is dropped on a node in this tree for preprocessing. Return false to cancel the drop. The drop...

事件,这个事件是节点被拖曳放开之前触发的,我是想当用户拖曳完之后,让用户确认是否拖曳,如果用户选择“是”之后,再移动节点。如下方代码,但实际发生的事情为:弹出确认框之后,马上就被运行第7行了:return false
function beforenodedrop(e)
{      
  Ext.MessageBox.confirm("请确认","是否要移动节点",function(button,text){
    if(button=="yes")
      return true;
  });
    return false;
}
   
0 请登录后投票
最后更新时间:2008-07-24
那为什么不 if(button == 'yes') return true; else return false;呢
   
0 请登录后投票
最后更新时间:2008-07-24
用html原生的confirm算了.
   
0 请登录后投票
最后更新时间:2008-07-24
onetown 写道
那为什么不 if(button == 'yes') return true; else return false;呢

这样写也没用,因为Ext的messagebox不是中断调用,一弹出“是否要移动”,马上就会往下执行其他javascript代码了
   
0 请登录后投票
最后更新时间:2008-07-29
1,window.confirm
这个是同步的

2,如果用户选否,还原回去。
   
0 请登录后投票
论坛首页 AJAX版 EXT

跳转论坛:
JavaEye推荐