#javascript #dojo
Вопрос:
У меня есть форма входа в систему, в которой использовался dojo dijit ( версия dojo 1.9.1 (43) )
<div><input data-dojo-type="dijit.form.TextBox" type="text" data-dojo-attach-point="loginUserId" data-dojo-props="placeHolder:'%M_AGENT_ID%'" ></div>
И здесь инициализируется contentWidget:
_contentWidget =new (declare(
[_Widget, TemplatedMixin, WidgetsInTemplateMixin],
{templateString: toolbar_html}
));
Страница загружается без каких-либо ошибок, и когда я вручную ввожу текст в это пользовательское текстовое поле, может сработать «onchange», но
_contentWidget.loginUserId.get('value')
ничего не возвращает, и при вводе текста в это текстовое поле заполнитель не исчезает, как следовало бы.
Не могли бы вы помочь мне выяснить, есть ли что-то не так с самим виджетом dojo или загрузчиком/ инициализатором dojo. Спасибо
Ответ №1:
Я нашел первопричину. Эта проблема связана с импортом дополнительных библиотек dojo/dijit несколько раз В приведенном выше примере, когда эти библиотеки были импортированы после импорта dojo.js
<script type="text/javascript" charset="utf-8" src="/common/dojo/dojox/widget/Toaster.js?2.7.5.12.14489"></script>
<script type="text/javascript" charset="utf-8" src="/common/dojo/dojo/cldr/nls/en/gregorian.js?2.7.5.12.14489"></script>
<script type="text/javascript" charset="utf-8" src="/common/dojo/dojo/cldr/nls/en/number.js?2.7.5.12.14489"></script>
<script type="text/javascript" charset="utf-8" src="/cim/common/dojo/dijit/form/Textarea.js?2.7.5.12.14489"></script>
Это может привести к некоторым другим ошибкам :» определение не определено.