首页 新闻 会员 周边

JavaScript设置html控件的src没效果

0
悬赏园豆:5 [已解决问题] 解决于 2010-12-19 21:21

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TempTest.aspx.cs" Inherits="WebApplication1.TempText" %>

<!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 runat="server">
    <title>Untitled Page</title>

    <script language="javascript" type="text/javascript">
        function display(file) {
            var img = document.getElementById("image");
            img.src = file.value;

        }
    </script>

</head>
<body>
    <form id="form1" runat="server">
    <div>
        <input id="File1" type="file" onchange="display(this)" />
        <img id="image" alt="" src="" width="120" height="90" />
    </div>
    </form>
</body>
</html>

 

改变了src,但是image的现实图片还是空白。

问题补充: 设置的是image的src。希望高手指点。
xpwilson的主页 xpwilson | 初学一级 | 园豆:124
提问于:2010-12-15 19:11
< >
分享
最佳答案
0

楼上们都正解,本地文件访问安全问题。。。

这里提供个判断图片下载完毕并回调函数的方法:

//图片预加载并回调函数
function LoadImageAndCallback(url, callback)
{
var img = new Image();
img.src
= url;

if(img.complete)
{
callback.call(img);
return;
}
img.onload
= function()
{
callback.call(img);
}
}

 

收获园豆:1
lzhdim | 小虾三级 |园豆:642 | 2010-12-16 15:54
其他回答(4)
0

如果是本地图片的话,IE7以上,Firefox,Chrome,Sarari,Opera都不会显示,因为有安全问题

收获园豆:3
Gray Zhang | 园豆:17610 (专家六级) | 2010-12-15 20:14
0

你取到的value是本地文件,有安全限制

爱研究源码的javaer | 园豆:930 (小虾三级) | 2010-12-15 21:39
0

你尝试一下,在 File1 值改变事件,尝试一下,直接document.getElementById("File1").value,看看

阿K&LiveCai | 园豆:514 (小虾三级) | 2010-12-16 09:33
0

楼主是想做上传时候的预览吧?如果是实际上并没有上传,本地文件有安全限制问题,就像是一楼说的那样,在低版本的ie(ie6)下面通过滤镜可以达到效果,但是其他浏览器都不兼容,所以还是上传以后再显示(实际上已经上传到服务器),这样的代码网上很多。

收获园豆:1
顾晓北 | 园豆:10844 (专家六级) | 2010-12-16 10:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册