从dijit小部件获取输入名称

时间:2013-10-11 08:54:53

标签: input dojo

我正在从输入创建dijit小部件:

<input name="serviceName" type="text"/>
input = new ValidationTextBox({required: true}, query('[name=serviceName]')[0])

我有很多输入,我想批处理它们,给它们分开的功能。

问题是,我在文档中找不到如何从小部件中获取输入名称(也可以是Select,DateBox等,我也无法在Firebug中找到属性检查元素

function processInput(input) {
   var inputName = ???
}

我已尝试过input.nameinput.get('name'),,但他们正在返回未定义的内容。

1 个答案:

答案 0 :(得分:1)

以编程方式实例化窗口小部件时,通常不会复制属性。只有在使用声明性标记时才会复制这些属性。这意味着name属性不会从原始输入节点复制,因此它实际上是空的。

创建ValidationTextBox时,只需提供name属性,如下例所示:

var inputNode = query('[name=serviceName]')[0];
var input = new ValidationTextBox({
    required: true,
    name: inputNode.name
}, inputNode);

然后,您可以使用input.nameinput.get('name')检索名称。

我也做了一个例子JSFiddle