我正在从输入创建dijit小部件:
<input name="serviceName" type="text"/>
input = new ValidationTextBox({required: true}, query('[name=serviceName]')[0])
我有很多输入,我想批处理它们,给它们分开的功能。
问题是,我在文档中找不到如何从小部件中获取输入名称(也可以是Select,DateBox等,我也无法在Firebug中找到属性检查元素
function processInput(input) {
var inputName = ???
}
我已尝试过input.name
和input.get('name'),
,但他们正在返回未定义的内容。
答案 0 :(得分:1)
以编程方式实例化窗口小部件时,通常不会复制属性。只有在使用声明性标记时才会复制这些属性。这意味着name
属性不会从原始输入节点复制,因此它实际上是空的。
创建ValidationTextBox
时,只需提供name
属性,如下例所示:
var inputNode = query('[name=serviceName]')[0];
var input = new ValidationTextBox({
required: true,
name: inputNode.name
}, inputNode);
然后,您可以使用input.name
或input.get('name')
检索名称。
我也做了一个例子JSFiddle。