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

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

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

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

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


person Boban Raj    schedule 22.08.2014    source источник


Ответы (1)


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

<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>

Посмотреть демонстрационную версию Programmatic здесь

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

person ronielhcuervo    schedule 22.08.2014
comment
Это заменит исходный элемент. Я хочу сохранить атрибуты и свойства прежнего. Я сомневаюсь, что если это возможно...? - person Boban Raj; 29.08.2014