Multiple Array FromData

09/15/2019 03:23 Cc_Cc_Cc#1
Hey liebe Com,

ich hab ein kleines Problem wobei ich nicht weiterkomme. Hab etwas gegoogelt und bin auf das richtige gestoßen und hab es auch fast geschafft nur eine Sache bekomme ich nicht hin.

Folgendes:

Man kann mehrere Bilder auswählen und dann mit Ajax Senden.

Erstmal mein HTML-Code wo man Bilder auswählen kann:

ganz einfach würde es so gehen:

Quote:
PHP Code:
    $.ajax({
        
type'POST',
        
method'POST',
        
url'../MeetBlog/pages/upload_cache_multiple/upload_cache_multiple.php',
----->        
data: new FormData($(".formphoto2")[0]), <------- 
Da ich jetzt aber noch einen Text eingeben kann und der in einer anderen Form ist muss ich es anders machen.

Das habe ich im Internet gefunden und hab es etwas bearbeitet.

Quote:
PHP Code:
var formData = new FormData();

formData.append('uploadImageMultiple', $('.inputfile')[0].files[0]); 
Jetzt gibt er mir aber kein Array, also habe ich es umgeändert in etwa so:


Problem ist hierbei er sagt mir das es immer nur ein Array gibt. Jetzt frage ich mich was muss in "var arr" rein? So klappt alles jetzt fehlt aber nur noch das er mir immer sagt das es ein array gibt.

Hoffe ihr habt mich Verstanden und könnt mir helfen wäre sehr dankbar
09/15/2019 14:06 lnqlorlouz#2
Du gibst ja mit
Code:
$('.inputfile')[0]
auch nur das erste rein. Wie wäre es mit
Code:
var formData = new FormData();
                                    
var arr = document.querySelectorAll('.inputfile'); // liefert dir schon eine iterierbare NodeList, brauchst also kein Array daraus machen
                                    
for(var i = 0; i < arr.length; i++) {
    formData.append('uploadImageMultiple[]', arr[i].files[0]);
}
oder ES6 like:
Code:
const arr = [...document.querySelectorAll(".inputfile"), ...uploadImageMultiple[]];
formData.append(arr);