【问题标题】:image preview on change does not work更改时的图像预览不起作用
【发布时间】:2017-06-08 21:22:01
【问题描述】:

我已经搜索了 2 天关于“如何在上传前预览图像”。我看到在线现场演示并照原样复制所有代码。我重命名我的类名以匹配附加的 js 代码。我的代码是:

    $('#edit-image-upload-wrapper').prepend('<div id="imagePreview"></div>');

     $(function() {
    $("#edit-image-upload-wrapper").bind("change", function()
    {
       // alert("it works");
        var files = !!this.files ? this.files : [];
        if (!files.length || !window.FileReader) alert("no file selected");//return; // no file selected, or no FileReader support

        if (/^image/.test( files[0].type)){ // only image file
            var reader = new FileReader(); // instance of the FileReader
            reader.readAsDataURL(files[0]); // read the local file

            reader.onloadend = function(){ // set image data as background of div

                $("#imagePreview").css("background-image", "url("+this.result+")");
            }
        }
    });
});

我检查了我的 html dom 并看到以下代码:

<div class="form-item" id="edit-image-upload-wrapper"><div id="imagePreview"></div>
 <label for="edit-image-upload">Upload Your Picture: <span class="form-required" title="This field is required.">*</span></label>
 <input type="file" name="files[image_upload]" class="form-file required" id="edit-image-upload" size="60">

 <div class="description"><p>You need to provide a passport sized image in jpg/jpeg or png format. The image size has to be 100kb or lower.</p>
</div>
</div>

与此演示完全相同:http://www.phpgang.com/how-to-show-image-thumbnail-before-upload-with-jquery_573.html

但是当我改变图像时,alert("no file selected");证明没有选择文件的作品。我究竟做错了什么。请帮忙。

【问题讨论】:

  • 为什么var files = !!this.files ? this.files : []; 会有两个 NOT 检查?

标签: javascript jquery


【解决方案1】:

检查我的预览答案是否可以在上传前显示图片

Show an image preview before upload

【讨论】:

    猜你喜欢
    • 2017-10-31
    • 2013-08-31
    • 2013-12-24
    • 1970-01-01
    • 2011-05-28
    • 1970-01-01
    • 2021-04-14
    • 2018-09-16
    • 1970-01-01
    相关资源
    最近更新 更多