隐藏DOJO的对话框

时间:2013-07-30 16:21:20

标签: jsp servlets dialog dojo

抱歉我的英文。 在我的程序中有一个客户端 - 服务器通信(JSP - Servlet)。当数据发送到服务器时,会出现一个带有“Please wait ...”消息的对话框Dojo。这样可行。但如果答案到了,则应隐藏此对话框。

我通过dialogStats.hide();来尝试。这不起作用。我没有得到隐藏的答案,而是对话。可能无法访问dialogStats。

代码:

<script>
require(["dojo/dom", 
     "dojo/on", 
     "dojo/request", 
     "dojo/dom-form", 
     "dojo/json", 
     "dojox/json/query", 
         "dijit/Dialog", 
     "dijit/form/Button",
     "dojo/domReady!"],
 function(dom, on, request, domForm, json, dialog, button){

  var form = dom.byId('aktForm');

  on(form, "submit", function(evt){

    evt.stopPropagation();
    evt.preventDefault();

    var dialogStats = new dijit.Dialog({
                        title: "Blah",
                    style: "width:500px;",
                    content: "<p />Please wait ..." +
                             "<p /><div style=\"align:center; display:block; margin:0px auto; width:100px\"> " +
                             "<img src=\"bilder/loading.gif\" border=\"0\"></div><p />" 
     });
    dialogStats.show();

    request.post("StatsServlet", {

         data: domForm.toObject("aktForm"),
         handleAs: "json"

    }).then(function(response){
        dialogStats.hide();

        var fehler = dojox.json.query("fehlermeldung", response);                       

        if(fehler == ""){
                       // everything is ok
        }
        else {
           // error             

        }

    });
   });
});
</script> 

我该如何解决这个问题? 我提前谢谢你。 EDU

1 个答案:

答案 0 :(得分:1)

像菲利普说的那样,你可能会回复一个错误。 添加错误函数以处理错误

 request.post("StatsServlet", {

         data: domForm.toObject("aktForm"),
         handleAs: "json"

    }).then(function(response){
        dialogStats.hide();

        var fehler = dojox.json.query("fehlermeldung", response);                       

        if(fehler == ""){
                       // everything is ok
        }
        else {
           // error             

        }

    }, function (error) {
        dialogStats.hide();

    });