首页 >后端开发 >php教程 >javascript - 多图片上传预览和ajax发送的问题

javascript - 多图片上传预览和ajax发送的问题

WBOY
WBOY原创
2016-06-06 20:08:54952浏览

我现在做一个图片发送的功能,但是预览的都是最后选择的照片,并且所有的照片都一样,还有就是图片上传该怎么用ajax发送,多谢了。以下是代码:
HTML代码:

<code><form id="fileUpload" enctype="multipart/form-data">
    <div class="upload-layer">
        <ul class="upload-ul">
            <li>
                <input id="imglist" type="file" name="imageUpload[]" multiple accept="image/*">
                <label for="imglist" id="img-label">选择文件
                </label>
            </li>
        </ul>
        <div class="upload-sub">
            <input type="button" id="upload-btn" value="提交">
        </div>
    </div>
</form></code>

js代码:
这是图片预览部分js代码

<code>$(function(){
    $("input[type='file']").change(function(evt){
        var files = evt.target.files;
    
        for (var i = 0, f; f = files[i]; i++) {
    
            if (!f.type.match('image.*')) {
                continue;
            }
    
            var reader = new FileReader();
            reader.readAsDataURL(f);
            reader.onload = (function() {
                return function(e) {
                    $(".upload-ul").prepend("<li><img  src="" alt="javascript - 多图片上传预览和ajax发送的问题" ></li>");
                    $(".upload-ul img").attr("src",e.target.result);//预览图片的位置
                };
            })(f);
        }
    });
})</code>

这是ajax发送部分代码:

<code>$("#upload-btn").click(function(){
    var formData = $("imglist").attr('name');
    formData.append('img',fileData);
    $.ajax({
        type: "POST",
        url: "{{ path('advsimghandle_') }}",
        dataType:"json",
        data:{
            imageUpload: formData
        },
        success:function(msg){

        }
    })
})</code>

请问我改怎么获取这个name的属性?还有文件预览都是预览到同样的一张图片,譬如说我选择两张图片,结构都是预览到第二张,第一张好像是循环的时候被过滤掉了,是不是该判断还是?,我改怎么改这个代码才能分别预览到照片。另外ajax也有问题的,通过firebug查看是没有post东西到后台的。多谢了。

回复内容:

我现在做一个图片发送的功能,但是预览的都是最后选择的照片,并且所有的照片都一样,还有就是图片上传该怎么用ajax发送,多谢了。以下是代码:
HTML代码:

<code><form id="fileUpload" enctype="multipart/form-data">
    <div class="upload-layer">
        <ul class="upload-ul">
            <li>
                <input id="imglist" type="file" name="imageUpload[]" multiple accept="image/*">
                <label for="imglist" id="img-label">选择文件
                </label>
            </li>
        </ul>
        <div class="upload-sub">
            <input type="button" id="upload-btn" value="提交">
        </div>
    </div>
</form></code>

js代码:
这是图片预览部分js代码

<code>$(function(){
    $("input[type='file']").change(function(evt){
        var files = evt.target.files;
    
        for (var i = 0, f; f = files[i]; i++) {
    
            if (!f.type.match('image.*')) {
                continue;
            }
    
            var reader = new FileReader();
            reader.readAsDataURL(f);
            reader.onload = (function() {
                return function(e) {
                    $(".upload-ul").prepend("<li><img  src="" alt="javascript - 多图片上传预览和ajax发送的问题" ></li>");
                    $(".upload-ul img").attr("src",e.target.result);//预览图片的位置
                };
            })(f);
        }
    });
})</code>

这是ajax发送部分代码:

<code>$("#upload-btn").click(function(){
    var formData = $("imglist").attr('name');
    formData.append('img',fileData);
    $.ajax({
        type: "POST",
        url: "{{ path('advsimghandle_') }}",
        dataType:"json",
        data:{
            imageUpload: formData
        },
        success:function(msg){

        }
    })
})</code>

请问我改怎么获取这个name的属性?还有文件预览都是预览到同样的一张图片,譬如说我选择两张图片,结构都是预览到第二张,第一张好像是循环的时候被过滤掉了,是不是该判断还是?,我改怎么改这个代码才能分别预览到照片。另外ajax也有问题的,通过firebug查看是没有post东西到后台的。多谢了。

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn