在IE7下,用innerHTML无法插入图片吗?我的情况是这样的:
我要根据在file字段选择不同的图片,然后在一个DIV里把图片显示出来,相当于预览图片。
我IE7.0,同在自己的电脑上,在遨游浏览器可以实现,但是在IE7里无法实现。
为什么呢?怎么解决?
<script language="JavaScript">
<!--
function PreviewImg()
{
var imgSrc;
imgSrc=myfile.value;
imageID=document.getElementById("myimageID");
showID=document.getElementById("myshowID"); imageID.innerHTML="<img src='"+imgSrc+"' >";
showID.innerHTML=imgSrc
}
//-->
</script><input type="file" id="myfile" name="myfile" size=50><div id="myimageID">在此插入图片。</div>
<div id="myshowID">在此显示图片路径。</div>
<input type="button" value="点击插入图片" onclick="javascript:PreviewImg();">

解决方案 »

  1.   

    查看 http://hi.baidu.com/gua_hu/blog/item/f35c0e512defba868c543085.html
      

  2.   

    DOn by thirtysix<?xml version="1.0" encoding="gb2312"?>
    <!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="Content-Type" content="text/html; charset=gb2312" />
    <title>本地图片预览代码(支持 IE6、IE7)</title>
    <style type="text/css">
    #newPreview
    {}{
         filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);
    }
    </style>
    <script type="text/javascript" language="javascript">
    <!--
    function PreviewImg(imgFile)
    {
         //原来的预览代码,不支持 IE7。
         var oldPreview = document.getElementById("oldPreview");
         oldPreview.innerHTML = "<img src=\"file:\\\\" + imgFile.value + "\" width=\"80\" height=\"60\" />";
        
         //新的预览代码,支持 IE6、IE7。
         var newPreview = document.getElementById("newPreview");
         newPreview.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgFile.value;
         newPreview.style.width = "80px";
         newPreview.style.height = "60px";
    }
    -->
    </script>
    </head><body><p>说明:以下针对的是互联网情况,如果您在本地作测试,比如输入的地址是:http://127.0.0.1/,则可以看到全部预览。</p><hr /><p>如果您使用的是 IE6,则可以看到以下预览;如果您使用的是 IE7,则看不到以下预览。</p>
    <div id="oldPreview"></div><hr /><p>不论您使用的是 IE6 还是 IE7,均可以看到以下预览。</p>
    <div id="newPreview"></div><hr /><p>请选择一个图片进行预览:<input type="file" size="20" onchange="javascript:PreviewImg(this);" /></p></body></html>
      

  3.   

    IE7 这样预览不了, 这个在网上找的代码,应该可以, 我这没IE7,测试不了.<html xmlns="http://www.w3.org/1999/xhtml"><head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>本地图片预览代码(支持 IE6、IE7)</title>
    <style type="text/css">
    #newPreview
    {
        filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);
    }
    </style>
    <script type="text/javascript" language="javascript">
    <!--
    function PreviewImg(imgFile)
    {
        //原来的预览代码,不支持 IE7。
        var oldPreview = document.getElementById("oldPreview");
        oldPreview.innerHTML = "<img src=\"file:\\\\" + imgFile.value + "\" width=\"80\" height=\"60\" />";
        
        //新的预览代码,支持 IE6、IE7。
        var newPreview = document.getElementById("newPreview");
        newPreview.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgFile.value;
        newPreview.style.width = "80px";
        newPreview.style.height = "60px";
    }
    -->
    </script>
    </head>
    <body>
    <hr />
    <p>如果您使用的是 IE6,则可以看到以下预览;如果您使用的是 IE7,则看不到以下预览。</p>
    <div id="oldPreview"></div>
    <hr />
    <p>不论您使用的是 IE6 还是 IE7,均可以看到以下预览。</p>
    <div id="newPreview"></div>
    <hr />
    <p>请选择一个图片进行预览:<input type="file" size="20" onChange="javascript:PreviewImg(this);" /></p>
    </body>
    </html>
      

  4.   

    可以插入的
    <script type='text/javascript'>
    function tt(){
     var dd = document.getElementById("f");
     dd.innerHTML = "<img src='bb.gif' />";
    }
    </script>
    <div id="f" onclick="tt()">
     关键是看dd 是否是对像了
    </div>
      

  5.   

    <script type="text/javascript">
        function $(id){
            return document.getElementById(id);
        }
        
        function preview(filePath, img){
            // DOM是通用方法
            var nImg = document.createElement('img');
            nImg.id = img.id;
            nImg.src = 'file:\/\/\/' + filePath.replace(/\\/g, '\/');
            img.parentNode.replaceChild(nImg, img);
        }
    </script>
    <input type="file" onchange="preview(this.value, $('test'))"/><img id="test" />