0

这是我的 HTML:

**<form action="http://localhost/so/users/login" method="post" accept-charset="utf-8" class="user_login_form" id="user_login_form" widgetid="user_login_form" data-dojo-type="dojox/form/Manager">
.
.
.
</form>**

*这是我的 js 代码 *

<script="text/javascript">

require(
    ['dijit/registry','dojo/_base/array','dojo/parser','dojo/ready','dijit/form/TextBox','dijit/form/Button','dojox/form/Manager',

    ],
    function(registry,array,parser,ready,textbox,button



    ){
    // parse the dom
    parser.parse();

}); // close the dojo sandbox



</script>

这是控制台上的错误

已弃用:dojox.form.Manager::getDescendants() 已弃用。请改用 getChildren()。-- 将在版本中删除:2.0 kernel.js:203 dojo/parser::parse() 错误错误参数:未定义获取堆栈:函数(){[本机代码]}消息:“尝试使用 id== 注册小部件user_login_form 但该 id 已注册”设置堆栈:函数(){[本机代码]}类型:未定义_原型_:SetUpError.d

4

2 回答 2

1

请在您实际创建小部件的代码之前在 onLoad() / 尝试以下操作:

if (dojo.byId('user_login_form') != null) {
                        dojo.forEach(dijit.findWidgets(dojo.byId('user_login_form')), function (w) {
                            w.destroyRecursive();
                        });
                    }
                    dojo.destroy(dojo.byId('user_login_form'));
                    if (dijit.byId('user_login_form')) {


dijit.byId('user_login_form').destroy();
                }
于 2013-03-15T12:56:53.767 回答
0

由于您已经指定了将由注册表使用的 id,因此 widgetid 似乎是多余的,实际上可能会导致错误。

于 2013-03-14T21:41:45.663 回答