日期:2014-05-16  浏览次数:20371 次

innerHTML无法显示网页问题
script language="javascript" type="text/javascript">
function showDetails(){
  var show=document.getElementsByName("close");
  var detail=document.getElementById("firstState");
  var flag1=true;
  var flag2=false;
  if(flag1==true){
  detail.innerHTML="popupHtml.html"
  show[0].src="open.gif";
  flag1=false;
  flag2=true;
  return;
  }
  else if(flag2==true){
  detail.innerText=""
  show[0].src="close.gif"
  flag2=false;
  flag1=true;
  return;
  }
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<img src="close.gif" name="close" onclick="showDetails()"/>第一站<br>
<div id="firstState"></div>
&nbsp;&nbsp;第二站<br>
</body>
</html>

上面的程序是当点击close.gif图片时,显示open.gif,同时在占位符div显示另一个网页,再次单击时
显示原来的显示效果。为什么第一次单击时,open.gif显示出来,而div处显示的是popupHtml.html几个
字符,没有显示它所代表的链接网页,第二次单击时,没有任何响应,这个怎么改??


------解决方案--------------------
JScript code
function showDetails() {
            var show = document.getElementsByName("close");
            var detail = document.getElementById("firstState");
            var flag1 = true;
            var flag2 = false;
            if (flag1 == true) {
                var a = document.createElement('iframe');
                a.src = 'b.htm';
                detail.appendChild(a);
                show[0].src = "open.gif";
                flag1 = false;
                flag2 = true;
                return;
            }
            else if (flag2 == true) {
                detail.innerText = ""
                show[0].src = "close.gif"
                flag2 = false;
                flag1 = true;
                return;
            }
        }