Bonjour,
Alors voilà, j'ai un site avec un formulaire qui marche parfaitement sur Chrome et Firefox mais comme par hasard ça plante sur ie (le navigateur utilisé dans mon entreprise).
Voici mon code côté formulaire :
''''$(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();
var date = $("#date").val();
var type = $($('input[type=radio][name=seance]:checked')).val();
formdata.append("date", date);
formdata.append("type", type);
formdata.append("data_json", $("#data_json").text());
$.ajax({
url: $form.attr('action'),
type: $form.attr('method'),
contentType: false, // obligatoire pour de l'upload
processData: false, // obligatoire pour de l'upload
data: data,
success: function (response) {
$('#response').html(response);
}
},
});
});
});
<form id="my_form" role="form" method="post" action="action/envoi.php" enctype="multipart/form-data">
<div class="step" style="text-align: center">
<p>Sélectionner la convocation à envoyer aux différents acteurs</p></br>
<div class="form-group">
<div class="input-group input-file" name="convocation">
<span class="input-group-btn">
<button class="btn btn-default btn-choose" type="button" style="
background-color: #eaeaea;
">
Télécharger la convocation <span class="glyphicon glyphicon-download" aria-hidden="true"></span>
</button>
</span>
<input type="text" name="convocation" class="form-control" placeholder='Choisissez un fichier...'/>
</div>
</div>
</div>
</form>
Et côté serveur
echo $_FILES['convocation']['name'];
Le code côté serveur est exécuté seulement quand aucun fichier n'est sélectionné, sinon il ne se passe rien (même pas de message d'erreur)
Vous avez une idée?