Bonjour,

J'ai un formulaire de création d'article, donc avec input titre, un input text, un input catégorie et pour finir un input file, cet input file est censé servir a récupérer une image d'illustration pour l'article.
Après avoir fait plusieurs analyse de ce que me retournait le formulaire et en bidouillant un peu le code, j'ai récupéré une sorte de tableau contenant donc un ensemble d'information sur mes inputs.. et donc évidemment les valeurs récupéré.
Ce que j'aimerais c'est pouvoir accéder à la valeur de l'input file pour pouvoir mettre une valeur par défault dans le cas où l'input serait laissé vide.
J'utilise FormData, et je ne sais pas comment modifier les valeurs transmise par le formulaire.

J'ai pensé à une solution :
Utiliser un input hidden et dans le cas où la valeur de l'input file serait laissé par défault je récupère la valeur de l'input hidden et je la met dans mon tableau. Mais ça non plus je ne sais pas comment faire.
J'ai essayé d'utliser Splice, mais ça ne fonctionne pas sur mon tableau, ça me retourne une erreur comme quoi "Splice" ne serait pas une fonction.

Merci d'avance :D

2 réponses


Salut,

Normalement, quand tu récupères la valeur de ton input file, il te renvoie un tableau contenant le(s) fichier(s). Donc ce que tu peux faire, c'est que si l'array censé contenir ton/tes image(s) est vide, tu renvoie null au serveur et voilà :)
Tu as une prévisu de l'image à uploader ou pas ?

Laznet
Auteur

Salut,

Nope je ne fais pas de prévisu ^^, par contre pour l'histoire du tableau, comment ferais-tu avec ce code là ?

var $form = $("#article_form");
        var formdata = (window.FormData) ? new FormData($form[0]) : null;

        var data = (formdata !== null) ? formdata : $form.serialize();
articleform correspond à la balise form qui contient l'ensemble de mon formulaire.

Et donc en faisant un console.log sur $form je me retrouve avec un tableau.. c'est ce tableau que je ne sais pas modifier par exemple pour y intégrer une image par défaut (ce que j'aimerais faire)