【问题标题】:Dojo Dialog error in Zend FrameworkZend 框架中的 Dojo 对话框错误
【发布时间】:2012-11-01 17:31:08
【问题描述】:

我正在尝试在 Zend Framework 中创建一个 Dojo 对话框,但遇到了一些问题。我的视图代码如下所示:

<script type="text/javascript" src="<?= $this->baseUrl('/js/dojo-release-1.7.2/dojo/dojo.js')?>"
          data-dojo-config="async: true" dojoConfig = "parseOnLoad: true">
</script>
<script>       
    require(["dijit/registry", "dojo/ready", "dojo/dom", "dijit/Dialog", "dijit/form/Form"], 
    function(registry, ready, dom, Dialog){
        ready(function() {
           createDialog = function(titleText, contentText) {
              var node = dojo.byId("foobar"); 
              var myDialog = new Dialog({ title:"From Source Node" }, node);   
              myDialog.show();
           };
        });
    });
</script>
<body class="claro">
   <div data-dojo-type="dijit/Dialog" id="foobar"  title="Foo!" style="display: none">
     <p>I am some content</p>
   </div>
</body>

加载对话框的按钮代码如下:

<button name="btnDialog" id="dialogbtn" type="button" onclick='createDialog();'>Open</button> 

第一次单击按钮时,对话框按预期打开,但是一旦关闭对话框并再次单击按钮,对话框就不会打开,并且我在控制台中收到以下错误。

尝试使用 id==foobar 注册小部件,但该 id 已注册。

我做错了什么?

谢谢

【问题讨论】:

    标签: zend-framework dojo dialog


    【解决方案1】:

    想通了。我认为表单解析不正确,因为 dojo-config 不正确。更改了javascript代码如下:

    <script type="text/javascript" src="<?= $this->baseUrl('/js/dojo-release-1.7.2/dojo/dojo.js')?>"
              data-dojo-config="async: true, parseOnLoad:true">
    </script>
    <script>
        require(["dijit/registry", "dijit/Dialog"], function (registry)
        {
           createDialog = function createDialog()
           {
                registry.byId("foobar").show();
           }
        });
    </script>
    

    和div如下:

    <body class="claro">
      <div class="dijitHidden">
         <div data-dojo-type="dijit.Dialog" data-dojo-props="title:'Foo!'" id="foobar">
             <p>I am some content</p>
         </div>
      </div>
    </body>
    

    现在对话框 dijit 已保存到注册表并按预期工作

    【讨论】:

      猜你喜欢
      • 2011-12-15
      • 2012-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-20
      • 2017-09-13
      相关资源
      最近更新 更多