Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript blueimp jquery上传:拖放提交所有文件字段_Javascript_Jquery_Ajax_Jquery File Upload - Fatal编程技术网

Javascript blueimp jquery上传:拖放提交所有文件字段

Javascript blueimp jquery上传:拖放提交所有文件字段,javascript,jquery,ajax,jquery-file-upload,Javascript,Jquery,Ajax,Jquery File Upload,我在实现Blueimp的Jquery上传时遇到了一个小问题 我有一个表格,其中包括几个不同的文件上传字段 <div id="file1"> <input class="fileupload" type="file" name="files[]" data-url="jQueryFileUpload.php?pic=1"> <div class="dropzone fade well" data-url="jQueryFil

我在实现Blueimp的Jquery上传时遇到了一个小问题

我有一个表格,其中包括几个不同的文件上传字段

    <div id="file1">
    <input class="fileupload" type="file" name="files[]" data-url="jQueryFileUpload.php?pic=1">         
    <div  class="dropzone fade well" data-url="jQueryFileUpload.php?pic=1">Drop files here</div>
    <div class="progress">
        <div class="bar" style="width: 0%;"></div>
    </div>
    <input type="text" name="pic1"  id="pic1" value="">
</div>
<div id="file2">
    <input class="fileupload" type="file" name="files[]" data-url="jQueryFileUpload.php?pic=2">         
    <div  class="dropzone fade well" data-url="jQueryFileUpload.php?pic=2">Drop files here</div>
    <div class="progress">
        <div class="bar" style="width: 0%;"></div>
    </div>
    <input type="text" name="pic2"  id="pic2" value="">
</div>

<script>
$(function () {
$('.fileupload').fileupload({
    dataType: 'json',
    done: function (e, data) {
        $.each(data.result.files, function (index, file) {
            var fileName = file.name;
            var pic = file.pic;
           $('#pic'+pic).val(fileName);
         });
    },
    progressall: function (e, data) {
    var progress = parseInt(data.loaded / data.total * 100, 10);
    $('.progress').show();
    $('.progress .bar').css(
        'width',
        progress + '%'
    );

}
});
});
</script>
所有的文本文件都用文件名填充

如何指定要触发的dropzone? 或者,在最坏的情况下,如何完全禁用拖放

对于后者,我尝试添加

$(document).bind('drop dragover', function (e) {
e.preventDefault();
});

根据文件,但这似乎没有任何效果。。删除的文件仍在上载…

要完全禁用拖放,请在
fileupload()调用中将设置为空jQuery集合

$('.fileupload').fileupload({
    dropZone: $(),
    ...
});
要创建具有各自拖放上下文的文件,请迭代
.fileupload
输入,并对每个输入调用
fileupload()
,将其作为自己的dropzone传递:

$('.fileupload').each(function () {
    $(this).fileupload({
        dropZone: $(this)
    });
});

要完全禁用拖放,请在
fileupload()
调用中将设置为空jQuery集合:

$('.fileupload').fileupload({
    dropZone: $(),
    ...
});
要创建具有各自拖放上下文的文件,请迭代
.fileupload
输入,并对每个输入调用
fileupload()
,将其作为自己的dropzone传递:

$('.fileupload').each(function () {
    $(this).fileupload({
        dropZone: $(this)
    });
});

谢谢你的回复。。。我尝试了您关于如何创建多个DropZone的建议,但我一定是做错了什么,因为当我删除一个文件时,它只进行了一次ajax调用,但指向了错误的地址(我确信这是我在实现中做错的事情,所以我会接受它作为正确答案)。。。“禁用”添加确实有效,所以至少我不再出错:)@Stiliyan谢谢你的回答。它对我的项目非常有帮助。很高兴你找到了你想要的东西!谢谢你的回复。。。我尝试了您关于如何创建多个DropZone的建议,但我一定是做错了什么,因为当我删除一个文件时,它只进行了一次ajax调用,但指向了错误的地址(我确信这是我在实现中做错的事情,所以我会接受它作为正确答案)。。。“禁用”添加确实有效,所以至少我不再出错:)@Stiliyan谢谢你的回答。它对我的项目非常有帮助。很高兴你找到了你想要的东西!