Bonjour,
Lors de l'appel d'un modal bootstrap, j'insert dans le modal-mody un formulaire issue d'une requête ajax.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| <script>
$('#testModal').on('show.bs.modal', function(e) {
var $modal = $(this),
idClient = e.relatedTarget.id;
$(".modal-body").fadeIn(1000).html('<div style="text-align:center; margin-right:auto; margin-left:auto">Patientez...</div>');
$.ajax({
type:"GET",
data : "idClient="+idClient,
url:"formulaire.php",
error:function(msg){
$(".modal-body").addClass("tableau_msg_erreur").fadeOut(800).fadeIn(800).fadeOut(400).fadeIn(400).html('<div style="margin-right:auto; margin-left:auto; text-align:center">Impossible de charger cette page</div>');
},
success:function(data){
$(".modal-body").fadeIn(1000).html(data);
}
});
});
</script> |
le formulaire inséré :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| <div id="updateOk">
<form method="post" id="formulaire">
<div id="errorUpdate">
</div>
<input type="hidden" name="idTerrain" value="<?php echo $idTerrain;?>" />
<div class="form-group">
<input type="text" class="form-control" placeholder="updateTest" name="updateTest"/>
</div>
<hr />
<div class="form-group">
<button type="submit" class="btn btn-default" name="update_button">
<span class="glyphicon glyphicon-log-in"></span> Modifier
</button>
</div>
</form>
</div> |
pour valider mon formulaire j'appelle également un script ajax avec la methode jquery .on() car l'élément "#formulaire" n'existait pas au chargement de la page.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| <script>
$(document).on("submit", "#formulaire", function () {
var data = $("#formulaire").serialize();
$.ajax({
type : 'POST',
url : 'update.php',
data : data,
success : function(response){
if(response==1){
$("div#updateOk").html("<center><span id=\"confirmMsg\">modifications effectuées !</span></center>");
}else {
$("div#errorUpdate").html('<div class="alert alert-danger"> '+response+' !</div>');
}
}
});
return false;
});
</script> |
la page update.php
1 2 3 4 5
| <?php
echo $updateOk=$_POST['updateTest'];
echo 1;
?> |
Mon appel ajax fonctionne bien mais la value de l'input updateTest est vide. Si j'ajoute un value en fixe dans mon formulaire tel que :
<input type="text" class="form-control" placeholder="updateTest" name="updateTest" value="test"/>
La valeur test bien récupérée par la page update.php dans mon $_POST et ma div errorUpdate récupère bien le code erreur puisque mon html n'est pas égal à 1 .
Est ce que quelqu'un a déjà rencontré ce phénomène ?
Partager