预期结果:使用document.getElementById仅限JavaScript自动填写表单。自动填充数组中的HTML表格
我有一个数组传递到下面的函数,它正确地将它添加到HTML脚本。
function showResults(results) {
var s = "";
for (var i=0, il=results.features.length; i
var featureAttributes = results.features[i].attributes;
for (att in featureAttributes) {
s = s + "" + att + ": " + featureAttributes[att] + "
";
// var subshed = feature[0].attributes["SubWS"];
}
}
dojo.byId("info").innerHTML = s;
}
结果看起来像
OBJECTID: 190
ProjectTyp: Stormwater Retrofit
Unit: Lower
SubWS: sadd
不过,我需要修改脚本填写现有的形式
document.getElementById(att).value = featureAttributes[att];
我似乎总是覆盖最后的输出,所以我只填写一个表单值。我如何去填写多个值?
更新:Polywhirl先生说得对。我还必须添加if语句来处理空属性值。最终的代码是:
function showResults(results) {
var subshed = results.features[0].attributes["SubWS"];
//OBJECTID = results.features[0].attributes["OBJECTID"];
document.getElementById("searchString").value = subshed;
console.log("feature", results.features[0].attributes["SubWS"])
console.log(document.getElementById("Map_ID"));
var s = "";
for (var i = 0, il = results.features.length; i < il; i++) {
var featureAttributes = results.features[i].attributes;
for (att in featureAttributes) {
// s = s + "" + att + ": " + featureAttributes[att] + "
";
// var subshed = feature[0].attributes["SubWS"];
// document.getElementById(att).value = featureAttributes[att];
if(!!featureAttributes[att]&&!!document.getElementById(att)){
document.getElementById(att).value = featureAttributes[att];
}else{
//alert(att + "this is null")
}
}
}
// dojo.byId("info").innerHTML = s;
}
+0
你能显示你使用的确切代码吗? –
2013-03-15 21:13:07
+0
att被认定为id的位置在哪里? –
2013-03-15 21:21:10
+2
这是你在找什么? http://jsfiddle.net/w6Zam/8/ –
2013-03-15 22:05:23