【发布时间】:2011-01-07 03:26:47
【问题描述】:
我最初尝试隐藏三个不同的对话框,然后根据 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.3.2。
标签: javascript dojo