繁体   English   中英

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

[英]dojo dijit dialog underlay not showing

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

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

除了隐藏第一个对话框并显示下一个对话框时,基本可以实现我想要做的事情,但参考底图会消失。 如果然后在浏览器窗口中滚动,则正确显示参考底图。 我正在做这样简单的事情:

dijit.byId("progress_dialog").hide();
dijit.byId("error_dialog").show();

有人有建议吗?

我已经在dojo网站上看到了以下页面,但这似乎是dojo 0.9的临时解决方案? http://www.dojotoolkit.org/forum/dijit-dijit-0-9/dijit-support/showing-dialog-right-after-hiding-another-dialog-while-keeping-u

任何帮助,将不胜感激。

谢谢。

[编辑]好的,我通过添加如下所示的一些延迟来“解决”该问题。

dijit.byId("progress_dialog").hide();
setTimeout(function() {
    dijit.byId("error_dialog").show();
    }, 500);

这对我有用,但是我认为可能有更好的解决方法。 有没有人?

[再次编辑]我正在使用的版本是dojo-1.3.2

在dojo 1.3中,对话框的参考底图出现了很多问题,因为所有对话框对象开始使用1个通用参考底图(而不是创建自己的参考底图)。
我怀疑您的情况下的参考底图会在隐藏之前显示出来-您可以根据需要进行调试;)
作为解决方法,超时是可以的(我想可以更短)。 或者,您可以尝试连接到hide方法(但是不确定是否会有所帮助):

dojo.connect(dijit.byId("progress_dialog"), "hide", dijit.byId("error_dialog"), "show");
dijit.byId("progress_dialog").hide();

但是考虑到1.3中底层的所有这些问题,我会考虑使用dojo 1.4,因为已经提交了dijit.Dialog的一些补丁: http ://docs.dojocampus.org/releasenotes/1.4。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM