这是我的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>
这是控制台上的错误
DEPRECATED:不推荐使用dojox.form.Manager :: getDescendants()。请改用getChildren()。 - 将在版本中删除:2.0 kernel.js:203 dojo / parser :: parse()错误 错误 参数:undefined get stack:function(){[native code]} 消息:“尝试使用id == user_login_form注册小部件,但该ID已经注册” set stack:function(){[native code]} 类型:undefined _ proto _:SetUpError.d
答案 0 :(得分: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();
}
答案 1 :(得分:0)
由于您已经指定了注册表将使用的id,因此widgetid似乎是多余的,可能实际上会导致错误。