dojo.query 必填字段
dojo.query for required fields
我正在使用 dojo,我需要查询 DOM 中的所有必填字段,并在 TableContainer 中的每个 dijit 标签旁边添加一个 *
我试过了
dojo.query("[required]")
但它 returns 是一个空的 NodeList,显然,所需的属性在 运行 时间
中呈现给其他 属性
如果您正在使用 dijit/form 小部件,您可以尝试搜索 'aria-required'
dojo.query("[aria-required]")
但是它不适用于所有小部件(如文本区域)。我建议你使用类似的东西:
dojo.query("[widgetid]").forEach( //scope all widgets on page
function(item){
var widget = dijit.getEnclosingWidget(item);
if(widget.required){
// your code here
}
}
)
当然,更好的行为应该是根据自定义 class 查询小部件,而不是查找页面上的所有小部件。
您可以直接使用 dijit/registry
检查所有需要 属性 的小部件,而无需查询 DOM。
示例:
require(['dijit/registry'], function(registry){
var widgets = registry.toArray();
widgets.forEach(function(widget){
if(widget.required){
// your code here
}
});
});
我正在使用 dojo,我需要查询 DOM 中的所有必填字段,并在 TableContainer 中的每个 dijit 标签旁边添加一个 * 我试过了
dojo.query("[required]")
但它 returns 是一个空的 NodeList,显然,所需的属性在 运行 时间
中呈现给其他 属性如果您正在使用 dijit/form 小部件,您可以尝试搜索 'aria-required'
dojo.query("[aria-required]")
但是它不适用于所有小部件(如文本区域)。我建议你使用类似的东西:
dojo.query("[widgetid]").forEach( //scope all widgets on page
function(item){
var widget = dijit.getEnclosingWidget(item);
if(widget.required){
// your code here
}
}
)
当然,更好的行为应该是根据自定义 class 查询小部件,而不是查找页面上的所有小部件。
您可以直接使用 dijit/registry
检查所有需要 属性 的小部件,而无需查询 DOM。
示例:
require(['dijit/registry'], function(registry){
var widgets = registry.toArray();
widgets.forEach(function(widget){
if(widget.required){
// your code here
}
});
});