我正在构建一个使用dojo的配置对话框,以后我需要询问用户输入。对话框中有多行,每行都有相同的格式和标签。这里是我用来构建每一行的html。获取dojo的值NodeList内部元素
html = '<div class="cfgtxtrow"> <label>Label:</label>
<input id="mac" type="hidden" name="mac" value="'+mac+'"/>
<input id="label" type="text" maxlength="6" name="label" value="'+labl+'"/>
</div>';
这部分的所有作品,我可以看到在Firebug返回数据。
我需要解析这些值并最终使用xhr将它们发送到服务器。所以我认为我可以使用dojo查询来获取节点列表并遍历每个节点以获取输入值并构建要发送的关联数组。我认为这很像通过编程验证值。 (使用dojo.query(“。cfgtxtrow”)。forEach(function(node)),但无法弄清楚如何以编程方式(使用dojo)获取每个节点上的值。我认为我可以使用dojo.byId或查询Node列表来获取其内部元素,但我只是得到错误回来。
我开始怀疑我的概念都是错误的,因为我认为这将简单。
这里是我结束了..
dojo.query(".cfgtxtrow input").forEach(function(node)
{
id = dojo.attr(node, "id");
console.debug(node);
if(id == "mac") mac = dojo.attr(node, "value"); // since mac comes first this is safe..
if(id == "label")
{
labl = dojo.attr(node, "value");
console.debug(mac);
console.debug(labl);
macLabels[mac] = labl;
}
});
console.debug(macLabels[mac]);
// send the data via the xhrPut call..
我认为它应该是简单的,dojo.attr调用似乎做的工作..
有没有更好的方式来做同样的事情?