Problème avec PHP et ajax

a marqué ce sujet comme résolu.

Bonjour,

Lorsque j’exécute cette fonction

        function getPortions(repasservis, repas_1_0, repasprevus) {
            var val;
            val = "?s1=" + repasservis;

            $.ajax({
                type: "POST",
                url: "recup_datas.php",
                data: val,
                success: function(data) {
                    var res = $.parseJSON(data);
                    $("#simul_repas").html(res.simul_repas);
                }
            });
        }

Ce n’est pas l’url de la fonction qui est appelé mais celle de la balise form.

<form role="form" name="saisieCP" method="post" action="suite.php">

L’appel se fait sur ce bouton

<button type="submit" class="btn btn-default" name="bouton3" value="Simuler" onclick="getPortions(saisieCP.repasservis.value);">Modifier</button>

Merci pour votre aide.

Hello,

Tu devrais plutôt mettre ta fonction sur le onsubmit de ton formulaire (ça ne résout pas directement ton problème mais si tu appuies sur "entrée" ton formulaire est "submit" sans passer par le clic sur le bouton).

De plus, pour que le formulaire ne soit pas envoyé il convient de récupérer l’évènement et d’appeler une fonction qui "arrête" l’évènement. Pour cela il faudra prendre l’évènement en paramètre:

<form role="form" name="saisieCP" method="post" action="suite.php" onsubmit="getPortions">
function getPortions(event) {
    event.preventDefault();
    var repasservis = saisieCP.repasservis.value;
    // Note: le code suivant serait un peu mieux:
    // var repasservis = document.getElementById('repasservis').value;
    // À condition évidemment que ton input contienne le bon id:
    // <input type="number" id="repasservis" />
    var val;
    val = "?s1=" + repasservis;

    $.ajax({
        type: "POST",
        url: "recup_datas.php",
        data: val,
        success: function(data) {
            var res = $.parseJSON(data);
            $("#simul_repas").html(res.simul_repas);
        }
    });
}
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte