多个file上传事件触发提交

我想在文件上传后,将文件提交到后台保存,当只有一个file控件时是没问题的,但我添加多个file控件后,除了初始的file控件,其他的死活提交不了,jquery的submit方法根本不执行,请教大神。

贴上代码,具体的内容我就不写了,因为开发机器上不了网,内容为手敲
//校验上传的文件是否符合规范(具体内容省略了)
function CheckExt(){
.......
.......
saveFile();
}

function saveFile(){
    $('#editForm').form("submit",{
        url: "......",
        success : function(responseText){
            if(responseText=="success"){
                ......
                ......
            }else{
                ......
            }
        }
    });
}

多个file的时候你需要将多个file打包到一起,然后一起传到后端,即一个submit提交多个文件。

,除了初始的file控件,其他的死活提交不了,jquery的submit方法根本不执行,请教大神。

你这个什么意思。。服务器只收到第一个文件?如果收到submit肯定执行了。你这个不是自相矛盾。

如果只能收到第一个文件,那么自己查找下服务器端如何接受多个同名的文件。如果服务器端没有收到文件,那么js脚本出错导致没有提交到服务器,打开浏览器开发工具看报什么错误进行修正

将多个File控件放到Form中,然后submit,可以上传的,如果需要可以给你一个测试样例。

我做了页面调试,页面不报错,from的submit方法直接跳过。只有用第一个file控件进行文件上传是可以的。但这个控件上传过后,其他控件就能正常上传了。感觉这个问题好奇葩啊

这个是我自己用过的,原生的ajax方式上传文件,还有进度条的。var xhr = null; function uploadFile() {var fd = new FormData();fd.append("fileToUpload", document.getElementById('fileToUpload').files[0]); xhr =new XMLHttpRequest(); xhr.upload.addEventListener("progress", uploadProgress, false);xhr.addEventListener("load", uploadComplete, false); xhr.addEventListener("error", uploadFailed, false);xhr.addEventListener("abort", uploadCanceled, false);xhr.open("POST","aaa.action", true); xhr.timeout = 120000; xhr.send(fd); }function uploadProgress(evt) {} function uploadComplete(evt) { if (evt) { var response = eval("(" + evt.target.responseText + ")"); if (response.error == "Error") {uploadError();} else {}}} function uploadError() {xhr.abort();} function uploadFailed(evt) {xhr.abort();}function uploadCanceled(evt) {xhr.abort();}