From ef1de8a89f78d1a095935165b046ac3a813b4174 Mon Sep 17 00:00:00 2001 From: Sajjad Shirazy Date: Mon, 30 Mar 2015 12:45:50 +0430 Subject: [PATCH] fixing multiple files input bug & ... fixing multiple files input and multiple inputs with same names bugs --- jquery.form.js | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/jquery.form.js b/jquery.form.js index 591ad6f1..631c1761 100644 --- a/jquery.form.js +++ b/jquery.form.js @@ -287,10 +287,23 @@ $.fn.ajaxSubmit = function(options) { // XMLHttpRequest Level 2 file uploads (big hat tip to francois2metz) function fileUploadXhr(a) { var formdata = new FormData(); - - for (var i=0; i < a.length; i++) { - formdata.append(a[i].name, a[i].value); - } + var fields = {}; + for (var i = 0; i < a.length; i++) { + if(fields[a[i].name]){ + fields[a[i].name].push(a[i].value); + }else{ + fields[a[i].name] = [a[i].value]; + } + } + $.each(fields,function(name,data){ + if(data.length == 1){ + formdata.append(name, data[0]); + } else { + for (var i = 0; i < data.length; i++) { + formdata.append([name,'[',i,']'].join(''), data[i]); + } + } + }); if (options.extraData) { var serializedData = deepSerialize(options.extraData);