简体   繁体   English

Jquery 拖放文件没有 ajax

[英]Jquery drag n drop files without ajax

i made a script for drag and drop a file and upload when submit that script works thanks to Ajax, but i want it without using ajax and so without e.preventDefault();由于Ajax,我制作了一个用于拖放文件并在提交该脚本时上传的脚本,但我希望它不使用ajax,因此没有e.preventDefault(); just like a normal post form... how i should edit it?就像一个普通的帖子表格......我应该如何编辑它?

    form.submit(function (e) {
        e.preventDefault();

        let formData = new FormData(this);
        
        for (let i = 0; i < filesLoader.length; i++) {
            formData.append(filesLoader[i][0], filesLoader[i][1])
        }

        $.ajax({
            type: form.attr('method'),
            url: form.attr('action'),
            data: formData,
            enctype: 'multipart/form-data',
            cache: false,
            contentType: false,
            processData: false,
            success: function (data) {
                console.log("Success")
            },
            error: function (data) {
                console.log("error")
            },
        });
    });

found the solution, on Drop function i change input field too with fileField.prop("files", e.originalEvent.dataTransfer.files);找到了解决方案,在 Drop function 上,我也使用fileField.prop("files", e.originalEvent.dataTransfer.files); thanks to this works for both normal submit or by ajax由于这适用于正常提交或 ajax

        dndFileArea.on('drop', function (e) {

            let file = e.originalEvent.dataTransfer.files;
            fileField.prop("files", e.originalEvent.dataTransfer.files);
            filesLoader.push([fileField.attr("name"), file[0]]);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM