为什么套用母版页 就不显示图片了 但是图片能上传到数据库 就是不显示??function onUploadImgChange(sender) {
            if (!sender.value.match(/.jpg|.gif|.png|.bmp/i)) {
                alert('请上传正常格式的图片');
                return false;
            }            var objPreview = document.getElementById("preview");
            var objPreviewFake = document.getElementById("preview_fake");
            var objPreviewSizeFake = document.getElementById("preview_size_fake");            if (sender.files && sender.files[0]) {
                objPreview.style.display = 'block';
                objPreview.style.width = 'auto';
                objPreview.style.height = 'auto';                objPreview.src = sender.files[0].getAsDataURL();
            } else if (objPreviewFake.filters) {                sender.select();
                var imgSrc = document.selection.createRange().text;                objPreviewFake.filters.item(
            'DXImageTransform.Microsoft.AlphaImageLoader').src = imgSrc;
                objPreviewSizeFake.filters.item(
            'DXImageTransform.Microsoft.AlphaImageLoader').src = imgSrc;                autoSizePreview(objPreviewFake,
            objPreviewSizeFake.offsetWidth, objPreviewSizeFake.offsetHeight);
                objPreview.style.display = 'none';            }                   
        }        function onPreviewLoad(sender) {
            autoSizePreview(sender, sender.offsetWidth, sender.offsetHeight);
        }        function autoSizePreview(objPre, originalWidth, originalHeight) {
            var zoomParam = clacImgZoomParam(300, 300, 440, 330);
            objPre.style.width = zoomParam.width + 'px';
            objPre.style.height = zoomParam.height + 'px';
            objPre.style.marginTop = zoomParam.top + 'px';
            objPre.style.marginLeft = zoomParam.left + 'px';
        }        function clacImgZoomParam(maxWidth, maxHeight, width, height) {
            var param = { width: width, height: height, top: 0, left: 0 };            if (width > maxWidth || height > maxHeight) {
                rateWidth = width / maxWidth;
                rateHeight = height / maxHeight;                if (rateWidth > rateHeight) {
                    param.width = maxWidth;
                    param.height = height / rateWidth;
                } else {
                    param.width = width / rateHeight;
                    param.height = maxHeight;
                }
            }            param.left = (maxWidth - param.width) / 2;
            param.top = (maxHeight - param.height) / 2;            return param;
        }
        function loadImg() {            var path = document.getElementById('<%=HiddenField1.ClientID %>').value;
            
            var imgc = document.getElementById("preview");
            imgc.src = path;
            alert(path);
        }
        window.onload = loadImg;
       
       

解决方案 »

  1.   

    var objPreviewFake = document.getElementById("<%=preview_fake.ClientID%>");所有getElementById取服务器控件的都要用ClientID
      

  2.   

    alert(path);   你alert出的这个path是什么  举个例子 但是要真实。
      

  3.   

    var objPreview = document.getElementById("preview");
    var objPreviewFake = document.getElementById("preview_fake");
    var objPreviewSizeFake = document.getElementById("preview_size_fake");你这三个什么东西
      

  4.   

    套用母版页HTML中的id会变掉
    参照3#
      

  5.   


    aler 出来没东西 这三个是          <tr>
                        <td class="style3">
                            图片上传:
                        </td>
                        <td align="left">
                            <asp:FileUpload ID="txtFile" runat="server" onchange="onUploadImgChange(this)" />
                            <asp:Label ID="lblInfo" runat="server" Text=""></asp:Label>
                        </td>
                    </tr>
                    <tr id="tu" runat="server">
                        <td class="style4">
                            &nbsp;
                        </td>
                        <td align="left" class="style5">
                            <div id="preview_wrapper">
                                <div id="preview_fake" runat="server">
                                    <img id="preview" onload="onPreviewLoad(this)"   />
                                </div>
                            </div>
                            <img id="preview_size_fake" />
                            <asp:HiddenField ID="HiddenField1" runat="server" />
                        </td>
                    </tr>
      

  6.   

    服务端控件ID.ClientID
    你看下HTNL源码中preview  ID变成什么了
    通过document.getElementById来取的都看一下
      

  7.   

    恩恩 html源码中这三个没有变啊·· 
      

  8.   

    把路径改一下,一般情况是加一个../   
                            <div id="preview_wrapper">
                                <div id="preview_fake" runat="server">
                                    <img id="preview" onload="onPreviewLoad(this)"   />
                                </div>
                            </div>
      

  9.   


    图片的src按下面的写
    src='<%=Resolve.ClientUrl("imageurl")%>'
      

  10.   

    sender.select();
    var imgSrc = document.selection.createRange().text;objPreviewFake.filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src = imgSrc;你看imgSrc有值没,JS报的什么错?
    调试一下
      

  11.   

    恩恩  奇怪的是 我这个在火狐就能出来 js在ie中也不报错啊