Partage
  • Partager sur Facebook
  • Partager sur Twitter

Modifier bouton lorsque la requête est effectuée

Le modifier en utilisant du CSS, HTML, JS (ou JQUERY) ou PHP

    4 juin 2019 à 21:51:05

    Bonjour

    J'ai actuellement un problème avec le changement d'un bouton (soyez indulgent je suis encore débutant ;).

    J'ai un bouton vert qui comporte un petit + à l'intérieur, et dès que je clique dessus pour effectuer une requête php qui insert une variable dans une table, j'aimerais qu'il devienne rouge avec un petit - (dès que la requête à réussi). Est-ce possible ?

    Voici mon code HTML pour le bouton :

    <form method="post">

          <input type="hidden" name="oeuvre" value="Overwatch" />

          <input id="bouton-plus" type="submit" value="+" />

    </form>

    Je fais cette requête php en début de page :

    <?php

    session_start();

        if (isset($_POST['oeuvre'])) {

            require_once 'login.php';

            $conn = new mysqli($hn, $un, $pw, $db);

            if ($conn->connect_error) die ($conn->connect_error);

            $query = "INSERT INTO `Preferences` (`Pseudo`, `JVA`) VALUES ('". $_SESSION['pseudo'] ."', '". $_POST['oeuvre'] ."')";

            $result = $conn->query($query);

            if (!$result) echo "INSERT failed: $query" . $conn->error . "</br>";

        }

    ?>

    Puis une fois cette requête terminée, j'aimerais que le bouton devienne rouge avec un - ... Si quelqu'un pouvait m'aider :(

    • Partager sur Facebook
    • Partager sur Twitter
      4 juin 2019 à 23:37:44

      Bonjour,

      Je ne peux pas t'aider en PHP, mais je peux te donner une solution en JS.

      En gros, on effectue la requête, et à l'aide de "addEventListener", on détecte quand la requête est terminée, et on change la couleur.

      var req = new XMLHttpRequest();
      req.open("mode", "URL");
      req.addEventListener("load"), function () {
          if (req.status >= 200 && req.status < 400) { // si la requête a été terminée avec succès //
              //on change la couleur ici //
              document.getElementById("bouton-plus").style.backgroundColor = red; 
              document.getElementById("bouton-plus").value = "-";
          }
      }
      req.send(null);

      Bonne journée

      -
      Edité par bergiLeZÉR0 5 juin 2019 à 18:23:55

      • Partager sur Facebook
      • Partager sur Twitter

      "I believe in two things. Discipline and the Bible." The Shawshank Redemption

        5 juin 2019 à 6:31:54

        (désolé pour la taille, j'l'ai fait dans Notes sur iOS et il me le met en grand :( )

        Bonjour,

        BergiGnon le XMLHttpRequest n'est pas supporté par tous les navigateurs, pareil pour ActiveX alors plutôt faire la requête en PHP, qui exécute une fonction JS:

        function changeButton() {

        document.querySelector("#mybutton").style.backgroundColor = "red";

        document.querySelector("#mybutton").innerHTML = "-";

        }

        et après la requête PHP, tu exécutes ça "changeButton();" (P.-S.: met l'id du button en "mybutton" comme ça: <input id="mybutton" type="submit">) :)

        Good luck :D

        -
        Edité par Majoras16Forever 5 juin 2019 à 6:36:00

        • Partager sur Facebook
        • Partager sur Twitter
          5 juin 2019 à 18:22:45

          Bonjour MateoPiccarreta,

          Pour moi, il faut directement le traiter en php, je vois pas l’intérêt de passer par le js, car il n'y pas de requête de type ajax

          le formulaire semble  recharger la page.

          • Partager sur Facebook
          • Partager sur Twitter
          Découvrez les Css avec la zonecss.fr
            5 juin 2019 à 19:12:19

            Bonjour

            Merci à tous pour vos réponses ;)

            Après de longues heures sur ce problème, j'ai enfin réussi mon coup grâce à une requête php.

            Merci car vos conseils m'ont bien aidé !

            Bonne journée

            • Partager sur Facebook
            • Partager sur Twitter
              11 juin 2019 à 20:21:07

              Salut ^^

              Pourrais-tu mettre le résultat de tes recherches, pour aider ceux qui veulent faire la même chose ? :)

              • Partager sur Facebook
              • Partager sur Twitter
                12 juin 2019 à 9:15:15

                Hello,

                Passe ton post en résolu ça évite de nous faire lire les messages pour rien Aha

                Bonne journée :magicien:

                • Partager sur Facebook
                • Partager sur Twitter
                Développeur FrontEnd | Site CV / Site PRO

                Modifier bouton lorsque la requête est effectuée

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown