我在页面上有两标签,input file和img
<input type="file" id="upload" />
<img id="test" />
下面有一段JQuery:
<script type="text/javascript">
    $(document).ready(function() {
        $("#upload").change(function() {
            alert("上传控件里的文本:" + upload.val());
            alert("改变前的SRC:" + $("#test").attr("src"));
            $("#test").attr("src", upload.val());
            alert("改变后的SRC:" + $("#test").attr("src"));
        });
    });
</script>
就这段代码让我很纳闷,input每次改变都触发了这个事件,而且alert出来的改变前和改变后的结果也都正常。但我选中某个文件夹的其中几个文件的时候页面上的图片也会跟着变,选中其它几个它却不会变。但是这些图片都是jpg格式的。找了半天没找出原因。希望大家帮帮忙...小弟先谢了...

解决方案 »

  1.   

    <script type="text/javascript">
        $(document).ready(function() {
            $("#upload").change(function() {
                alert("上传控件里的文本:" + upload.val());
                alert("改变前的SRC:" + $("#test").attr("src"));
                $("#test").attr("src", upload.val());
                alert("改变后的SRC:" + $("#test").attr("src"));
            });
        });
    </script>
    上面的代码有点乱,重新发一次...
      

  2.   

    alert("上传控件里的文本:" + upload.val());            alert("改变前的SRC:" + $("#test").attr("src"));
                $("#test").attr("src", upload.val());
    你这样都是正确的?改成$("#upload").val();
      

  3.   

    楼主  你要的效果是这样的么?
    <body>
    <script type="text/javascript">
        $(document).ready(function() {
        $("#test").val($("#upload").val());
            $("#upload").change(function() {
                alert("上传控件里的文本:" + $("#upload").val());
                $("#test").val($("#upload").val());
                alert("改变前的SRC:" + $("#test").attr("src"));
                $("#test").attr("src", $("#upload").val());
                alert("改变后的SRC:" + $("#test").attr("src"));
            });
        });
    </script>
    <input type="file" id="upload" />
    <input type="text" id="test" />
    </body>
      

  4.   

    <html>
    <head>
        <title>get file input full path</title>
        <script language='javascript'>
            function getFullPath(obj) {
                if (obj) {
                    //ie 
                    if (window.navigator.userAgent.indexOf("MSIE") >= 1) {
                        obj.select();
                        return document.selection.createRange().text;
                    }
                    //firefox 
                    else if (window.navigator.userAgent.indexOf("Firefox") >= 1) {
                        if (obj.files) {
                            return obj.files.item(0).getAsDataURL();
                        }
                        return obj.value;
                    }
                    return obj.value;
                }
            } 
        </script>
    </head>
    <body>
        <input type="file" onchange="document.getElementById('img').src=getFullPath(this);" />
        <img id="img" />
    </body>
    </html>
    谷歌没找到。呜呜~~恨谷歌。希望对楼主有用
      

  5.   

    我只是想让input变化里选中的文件变化时,img显示的图片也跟着变化。我就是这样写的,但是不行。
      

  6.   

    刚刚7楼跟你发的那个,就可以啊,你自己在用jquery改良哈,如果不想改,可以直接用。ie,火狐,都兼容!
      

  7.   

    不是,都是jpg的...在火狐都可以,IE8有一部分图片可以,Google里就完全不行了...
      

  8.   

    刚刚都说Google不行了。找半天都没找到解决的方法!
    一部分图片可以,这个就真不清楚原因了。
    要是程序有问题,那图片就肯定都显示不出来,那现在程序没问题,就可能是图片的原因了。
      

  9.   

    我刚刚下了个png的图片,把他改成jpg 。ie不能显示,火狐可以。哎~~~~
    这个兼容性,真是头痛。