使用.innerHTML动态添加HTML(IE7中的格式问题)

时间:2013-02-07 15:02:35

标签: javascript html css input innerhtml

我有一个选择下拉列表,当更新时获取新变量并动态更新它下方的div。

这是我的选择输入:

<select name='region_name' onchange='showDistrict(this.value)'>

这是我控制动态内容的javascript:

<script>
function showDistrict(str)
{
if (str=="")
  {
  document.getElementById("district_div").innerHTML="";
  return;
  } 
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("district_div").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","getdistrict.php?q="+str,true);
xmlhttp.send();
}
</script>

页面getdistrict.php?q =执行另一个MySQL调用并将信息循环到div“district_div”我的问题是...在IE 7中div区域无法正确伸展​​。所以我的动态数据覆盖了它下面的所有内容。

当我用firebug查看源代码时,我甚至没有看到来自innerHTML的新html因此我不确定这是一个css问题还是与.innerHTML有关的东西

1 个答案:

答案 0 :(得分:1)

不要为此DIV设置任何widthheight,或仅设置min-width min-height,您也可以为此DIV设置overflow:hidden