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() エラー エラー引数: 未定義 get stack: function () { [ネイティブ コード] } メッセージ: "ID== でウィジェットを登録しようとしましたuser_login_form ですが、その ID は既に登録されています」 set stack: function () { [ネイティブ コード] } type: undefined _ proto _: 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 に答える