【发布时间】:2014-05-19 14:31:55
【问题描述】:
我想使用 javascript 来获取 dijit 元素类型。例如如果项目是文本框、组合框、过滤选择等。这是我尝试过的,它导致返回未定义。
HTML
<s:textfield type="text" id="name" required="true" data-dojo-type="dijit/form/ValidationTextBox" />
<s:select id="gender" data-dojo-type="dijit/form/FilteringSelect" />
Javascript
var genderType = dijit.byId('gender').attr('data-dojo-type');
var name= dijit.byId('name').attr('data-dojo-type');
console.log(genderType);
console.log(name);
结果
undefined
undefined
【问题讨论】:
-
你能提供jsfiddle吗?
-
试试这个方法:
var yourWidgetType = dojo.filter(dijit.registry._hash, function(widget) { return widget.declaredClass; }) -
@user3241019 它没有返回任何结果
-
如果尝试使用其 ID 访问您的小部件,您会得到任何结果吗? Here 是 Dojo 文档,通过 dijit 注册表 (v1.9) 为您提供示例
-
@user3241019 我试过 dijit.registry.byId('widgetName') 和 dijit.byId('widgetName') 仍然没有结果
标签: javascript html dojo