Как программно изменить элемент HTML на виджет DOJO?

Мой сценарий выглядит следующим образом:

В настоящее время я использую каркас DOJO 1.9 с инструментом отчетности BIRT 4.2. BIRT создает элемент формы (динамически) на странице, и все поля ввода (из dojo) попадают под эту форму. И когда я пытаюсь проверить форму (после отправки), я не могу этого сделать, так как форма не является формой DOJO.

Итак, есть ли способ преобразовать эту форму HTML в форму DOJO (dijit.form) программно?

Или вообще можно ли программно изменить элемент HTML на виджет DOJO?

1 ответ

Вы можете реализовать оба решения с помощью dojo. Вы можете создать виджет Dojo программно или декларативно. Вы можете программно преобразовать любой элемент HTML в виджет DOJO. Например, кнопка, созданная программно с помощью Id.

<body class="claro">
    <div>
      <!--HTML Button element with id ="btn2"-->
        <button id="btn2"></button>
    </div>
    <script>
        require(["dijit/form/Button", "dojo/domReady!"], function(Button) {
            var button2 = new Button({
                iconClass: "dijitIconNewTask",
                showLabel: false,
                label: "Click Me!", // analogous to title when showLabel is false
                onClick: function(){ console.log("Second button was clicked!"); }
            }, "btn2");//this is the id of HTML element.

            button2.startup();
        });
    </script>
</body>

Посмотреть демо программы здесь

Таким же образом вы можете создать любой виджет Dojo программным способом.

Другие вопросы по тегам