Hello !
J'ai un mini projet que je galère a realiser parce que je suis naze en HTML haha.
J'aimerais créer un bouton qui redirige vers une page QUE si l'input est correct (comme une sorte de mot de passe).
J'ai essayé plein d'approche mais je galère comme pas possible avec les conditions.
Si quelqu'un pouvais m'aider ça serait incroyable
J'ai mis un petit schema de ce que j'ai en tete.

https://imgur.com/a/Vv005qc

Comme vous voyez c'est ultra simple...
Je vais pas vous mettre mes tentatives j'en ai trop honte haha.

Merci beaucoup pour votre attention :)

11 réponses


Hello,
Tu pourrais nous faire voir une de tes tentatives pour être sur de ce que tu as besoin ?

Lyes31
Auteur

J'ai pas gardé beaucoup de mes essais. Si tu le souhaites vraiment je peux essayer de recreer ce que j'ai fait mais ça ne servirait à rien si ce n'est que de rendre le problème incomprehensible.
Vraiment c'est ultra simple : une case d'input, à coté (ou en dessous) un bouton. Quand t'appuies sur le bouton, ca vérifie que ce qui ya d'inscrit dans l'input correspond au mot de passe, et si c'est le cas ; ça te redirige vers une page. Pas besoin de css ni de mise en page.

Lyes31
Auteur

<input type="password" class="form-control" name="password" id="password" required>

<button>envoyer
<script>
button.onclick = function() {
var password = document.getElementById("password");

                    if(password.value == "pizza") {
                        href="https://www.google.com/";
                    } else {
                        repeat_password.setCustomValidity("mot de passe incorrect");
                    }
                }

</script>

Si jamais ça peut t'aider

Oui c'est mieu, ta logique eest bonne mais essaye plutot

                    if(password.value == "pizza") {
                        window.location.href ="https://www.google.com/";
                    } else {
                        repeat_password.setCustomValidity("mot de passe incorrect");
                    }

Source : https://developer.mozilla.org/en-US/docs/Web/API/Window/location

Et quand tu déclare une variable en Js, utilise plus let et const :)

Lyes31
Auteur

Merci pour ton retour :)
Mais malheureusement ça ne fonctionne toujours pas.
En vrai je m'en moque un peu d'avoir un "else" à ma condition. C'est possible d'avoir juste la condition "si password = pizza alors rediriger vers www.google.com" sans le else

Voila ou en est mon code :

<input type="password" class="form-control" name="password" id="password" required>

<button>envoyer
<script>
button.onclick = function() {
var password = document.getElementById("password");

                if(password.value == "pizza") {
                    window.location.href ="https://www.google.com/";
                }
                }

</script>

Il faudrait déjà bien fermer ton button <button>Envoyer</button> .
Ensuite si tu veux faire de cette manière, moi de mon coté ça fonctionne .

 <input type="password" class="form-control" name="password" id="password" required>
      <button>Envoyer</button>

        <script>
        let password = document.getElementById('password');

        button.onclick = function() {
            if (password.value == "pizza") {
            window.location.href = "https://www.google.com";
            }
        }

        button.onclick();

        </script>

Après, ton code manque de bonne pratique, pour être valide même si cela fonctionne.
Je te conseille de ne pas bruler les étapes et de bien apprendre le fonctionnement du JS.

Lyes31
Auteur

Cool merci pour ta réponse et de ta patience :)
Je dois etre vraiment mauvais parceça ne fonctionne toujours pas chez moi.
Et oui tu as raison, en vérité je ne souhaite pas vraiment apprendre l'HTML/js, j'ai juste besoin de faire un mini site pour un anniversaire surprise :)
Voila une copie exacte de tout mon document

<!DOCTYPE html>
<html>
<body>
<input type="password" class="form-control" name="password" id="password" required>
<button>Envoyer</button>

            <script>
            let password = document.getElementById('password');

            button.onclick = function() {
                if (password.value == "pizza") {
                window.location.href = "https://www.google.com";
                }
            }

            </script>
</body>
</html>

Juste avant la balise </script> , tu as oublié de mettre cette ligne
button.onclick(); .

Bonjour, pourquoi ne fais-tu pas

let password = document.getElementById('password');
document.querySelector("button").addEventListener("click", function(){
if (password.value == "pizza") {
window.location.href = "https://www.google.com";
}
} )

Lyes31
Auteur

Merci Anthony !!!!
ça fonctionne :) :)
Et désolé ReckEx, mais meme avec button.onclick(); ca fonctionnait toujours pas.

@Lyes31, peux-tu mettre le topic en résolu, stp ?