Bonjour à tous,
Voici mon soucis :
Je fais sélectionner un fichier dans un input file dans une modale. Hors je n'arrive pas à récupérer la valeur lors de la validation dans la fenêtre parent.
Voici mon formulaire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 <form id="my_form" method="post" action="process_form.php" enctype="multipart/form-data"> <input type="text" name="title"> <textarea name="content"></textarea> <button class="btn btn-primary " type="button" onclick='image()'><i class="fa fa-upload"></i> <span class="bold">Image</span></button> <div class="modal inmodal" id="infoImage" tabindex="-1" role="dialog" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content animated bounceInRight"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button> <i class="fa fa-info modal-icon"></i> <h4 class="modal-title">Choisissez une belle image </h4> <small class="font-bold"></small> </div> <div class="modal-body"> <p></p> <div class="form-group"> <input type="file" name="monfichier" accept="image/*"> </div> <div class="modal-footer"> <button type="button" class="btn btn-white" id="annulerChoixClub">Annuler</button> <button type="button" class="btn btn-primary" id="validerChoixClub" onclick="hide_modal()">Valider</button> </div> </div> </div> </div> </div> <button type="submit">OK</button> </form>
Voici mon AJAX :
Cela n'envoi aucune image
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 <script> $(function () { $('#my_form').on('submit', function (e) { // On empêche le navigateur de soumettre le formulaire e.preventDefault(); var $form = $(this); var formdata = (window.FormData) ? new FormData($form[0]) : null; var data = (formdata !== null) ? formdata : $form.serialize(); $.ajax({ url:"uploadv3.php", type: $form.attr('method'), contentType: false, // obligatoire pour de l'upload processData: false, // obligatoire pour de l'upload dataType: 'json', // selon le retour attendu data: data, success: function (response) { // La réponse du serveur } }); }); });
Pour info quand j'enlève l'input du modal cela marche très bien.
Je ne comprend pas car le modal faisant partie de la page je devrais envoyer l'ensemble du formulaire ....
Quelqu'un aurait il une idée ?
Cordialement,
Partager