Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript dojo dijit对话框参考底图未显示_Javascript_Dojo - Fatal编程技术网

Javascript dojo dijit对话框参考底图未显示

Javascript dojo dijit对话框参考底图未显示,javascript,dojo,Javascript,Dojo,我试图在一开始隐藏三个不同的对话框,然后根据ajax表单提交的响应,我希望显示不同的对话框 当表单提交并等待响应时,我可以显示“正在进行”对话框。 然后,如果服务器返回错误响应,我想隐藏第一个对话框,然后根据错误响应类型显示另一个对话框 除了隐藏第一个对话框并显示下一个对话框时,参考底图消失之外,我几乎可以实现我想要做的事情。 如果在浏览器窗口内滚动,则参考底图将正确显示。 我在做一些简单的事情,比如: dijit.byId("progress_dialog").hide(); dijit.by

我试图在一开始隐藏三个不同的对话框,然后根据ajax表单提交的响应,我希望显示不同的对话框

当表单提交并等待响应时,我可以显示“正在进行”对话框。 然后,如果服务器返回错误响应,我想隐藏第一个对话框,然后根据错误响应类型显示另一个对话框

除了隐藏第一个对话框并显示下一个对话框时,参考底图消失之外,我几乎可以实现我想要做的事情。 如果在浏览器窗口内滚动,则参考底图将正确显示。 我在做一些简单的事情,比如:

dijit.byId("progress_dialog").hide();
dijit.byId("error_dialog").show();
有人有什么建议吗

我在dojo网站上看到了以下页面,但它似乎是Dojo0.9的临时解决方案?

任何帮助都将不胜感激

谢谢

[编辑] 好的,我已经“解决”了这个问题,添加了一点延迟,如下所示

dijit.byId("progress_dialog").hide();
setTimeout(function() {
    dijit.byId("error_dialog").show();
    }, 500);
这对我来说很有效,但我认为可能有更好的解决方法。 有人要吗

[再次编辑]
我正在使用的版本是dojo-1.3.2,dojo 1.3中对话框的参考底图出现了很多问题,因为所有对话框对象都开始使用一个公共参考底图对象(而不是创建自己的参考底图)。
我怀疑您案例中的参考底图是在隐藏之前显示的-如果您愿意,可以进行调试;)
作为一种解决方法,超时是可以的(我想可以少一些)。或者您可以尝试连接到
hide
方法(但不确定这是否有帮助):


但是,考虑到1.3中的所有底层问题,我会考虑使用Dojo 1.4,因为DIJIT对话框的一些补丁已经被提交:

< P>在Dojo 1.3中出现了许多对话框的底层问题,因为所有的对话对象都开始使用1个普通的底层对象(而不是创建自己的底层)。 我怀疑您案例中的参考底图是在隐藏之前显示的-如果您愿意,可以进行调试;)
作为一种解决方法,超时是可以的(我想可以少一些)。或者您可以尝试连接到
hide
方法(但不确定这是否有帮助):


但是,考虑到1.3中的所有底层问题,我会考虑使用Dojo 1.4,因为DIJIT对话框的一些补丁已经被提交:

你使用了什么版本的Dojo?Dojo1.3在对话框参考底图的实现上有了显著的变化。我应该在我的问题中指出这一点。我使用的版本是1.3.2。您使用的是什么版本的dojo?Dojo1.3在对话框参考底图的实现上有了显著的变化。我应该在我的问题中指出这一点。我使用的版本是1.3.2。
dojo.connect(dijit.byId("progress_dialog"), "hide", dijit.byId("error_dialog"), "show");
dijit.byId("progress_dialog").hide();