如何在图像选择时显示图像

时间:2013-11-03 10:02:48

标签: javascript jquery conditional-statements

我正在使用javascript代码。此代码显示您在上传之前选择的图像。

的Javascript

<script>
 function readURL(input) {

if (input.files && input.files[0]) {
    var reader = new FileReader();

    reader.onload = function (e) {

        $('#blah').attr('src', e.target.result);
     }

    reader.readAsDataURL(input.files[0]);
    }
  }

      $("#imgInp").change(function(){
      readURL(this);
  });
 </script>

HTML

 <form id="imageform" method="post" enctype="multipart/form-data" >
       <input type="file" name="photoimg" id="imgInp" >
       <img id="blah" src="#" alt="your image" />
       <input type="submit" Value="Upload">
       </form>

这段代码完美无缺。当图像选择不是图像dispaly:none;而图像选择比显示图像时,我需要正常。我想用客户端脚本来处理这个问题。

2 个答案:

答案 0 :(得分:1)

修改标记,以便默认隐藏图像:

<img id="blah" src="#" alt="your image" style="display:none" />

然后在读取文件时调用图像上的jQuery show方法:

$('#blah').attr('src', e.target.result);
$('#blah').show();

小提琴是here

答案 1 :(得分:0)

尝试

function readURL(input) {
    if (input.files && input.files[0]) {
        var reader = new FileReader();
        reader.onload = function (e) {
            $('#blah').prop('src', e.target.result);
        }
        reader.readAsDataURL(input.files[0]);
    }
}

jQuery(function () {
    $("#imgInp").change(function () {
        readURL(this);
    });
})

演示:Fiddle