Internet Explorer和正文onload

时间:2012-04-26 09:53:54

标签: javascript xhtml internet-explorer-8 internet-explorer-9 onload

我有一个页面,我想使用功能。首先a有一个addTitle()函数,它生成一个div。这是功能:

function addTitle(){


var ni = document.getElementById('div_fieldset');

var titleSpan = document.createElement("span");
ni.appendChild(titleSpan);
titleSpan.setAttribute("id","titleSpan");
titleSpan.setAttribute("class","fields");

if(titleSpan.previousSibling.nodeName=="#text"){    
    document.getElementById("titleSpan").style.paddingLeft="85px";
    titleSpan.style.width="86.5%";      
}else{
    var titleSelect = document.createElement("select");
    titleSelect.setAttribute("size","1");
    titleSelect.setAttribute("name","titleSelect");
    titleSelect.setAttribute("class","logicalOpSelect");

        orOption=document.createElement("OPTION");
        orText=document.createTextNode("OR");
        orOption.appendChild(orText);
        orOption.setAttribute("value","OR");
        titleSelect.appendChild(orOption);

        andOption=document.createElement("OPTION");
        andText=document.createTextNode("AND");
        andOption.appendChild(andText);
        andOption.setAttribute("value","AND");
        titleSelect.appendChild(andOption);

    titleSpan.appendChild(titleSelect);
}

    var titleSpanInner = document.createElement("span");
    titleSpan.appendChild(titleSpanInner);
    titleSpanInner.setAttribute("class","labels");
    titleSpanInner.innerHTML="Title";

    var titleInput = document.createElement("input");
    titleSpan.appendChild(titleInput);
    titleInput.setAttribute("class","input_text");
    titleInput.setAttribute("type","text");
    titleInput.setAttribute("name","title_input");
    titleInput.setAttribute("size","50");

    var removeButton = document.createElement("input");
    titleSpan.appendChild(removeButton);
    removeButton.setAttribute("id","removeTitle");
    removeButton.setAttribute("class","removeButton");
    removeButton.setAttribute("type","button");
    removeButton.setAttribute("value","Delete field");
    removeButton.setAttribute("onClick","remove(this.id)");
}

然后是html代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=8"/>
<title>Search</title>
<link rel="stylesheet" href="css/search.css" type="text/css" />
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
</head>
<script type="text/javascript">
function AddTitle(){
   ...
   Here is the addTitle code, which is placed above
   ...
}
</script>
<body onload="addTitle();">
  <div id="box">
  <form name="search" method="post" action="search.php">
    <div id="div_fieldset">
    </div>
    <input class="button" type="submit" value="Search">
  </form>                                                               
  </div>
</body>
</html>

在互联网eplorer 8或9中,field_set div没有任何内容,只有titleSpan span。但是如果我把整个addTitle源放到field_set div中,那么addTitle的最后一部分就不会出现了,这个:

var removeButton = document.createElement("input");
titleSpan.appendChild(removeButton);
removeButton.setAttribute("id","removeTitle");
removeButton.setAttribute("class","removeButton");
removeButton.setAttribute("type","button");
removeButton.setAttribute("value","Delete field");
removeButton.setAttribute("onClick","remove(this.id)");

问题是什么,解决方案是什么?谢谢!

0 个答案:

没有答案