我正在尝试为Google地图创建一个信息窗口,并且需要生成一个动态表单来显示信息。

以下脚本生成一个错误,该错误称为“ No_found_err:DOM异常8”:

//create objects for HTML elements
var inputElement1 = document.createElement("input");
var inputElement2 = document.createElement("input");

//assign different attributes to the element
inputElement1.setAttribute("type", "text");
inputElement1.setAttribute("id", "poiName");
inputElement2.setAttribute("type", "textarea");
inputElement2.setAttribute("id", "poiDesc");

//create style tag, atrributes and values
//add css style to head tag and define classname for HTML "desctag" element
var cssNode = document.createElement("style");
cssNode.setAttribute("type", "text/css");
cssNode.style.cssText = ".cssClass {vertical-align: text-top; width: 250px; height: 150px }";

document.getElementsByTagName("head")[0].appendChild("cssNode");
document.getElementById("poiDesc").className = "cssClass";

var formString = "<b>Enter location details:</b>
<p>Name:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" +
"&nbsp;&nbsp;&nbsp;" + inputElement1 + "<br>Description:&nbsp;&nbsp;" + inputElement2 +
"<p><center>" + "<input type='button' id='saveBtn' value='Save' onclick='savePOI()'>
</center>";

//insert values into the form elements
document.getElementById("poiName").value = locList[i].name;
**document.getElementById("poiDesc").value = locList[i].desc;**


此错误出现在最后两行之间。这是否意味着尚未创建标签ID“ poiName”和/或“ poiDesc”?

我该如何解决以上问题?

谢谢。

最佳答案

document.getElementsByTagName("head")[0].appendChild("cssNode");应该是document.getElementsByTagName("head")[0].appendChild(cssNode);注意cssNode没有被引用,您传递了一个字符串来追加Child而不是节点。

inputElement1inputElement1是不是字符串的元素,因此将它们附加到html字符串不会产生所需的结果。另外,您永远不会将它们或html字符串添加到dom中,因此document.getElementById将无法找到它们。

09-16 16:27