Home > Net >  Js redirect don't work if the link provided is "correct"
Js redirect don't work if the link provided is "correct"

Time:01-10

I'm trying to redirect the user to a webpage if the provided password is correct, but it doesn't work anyways. The alert happens but it ignores the redirection.

This is my code;

    <!DOCTYPE html>

<html>
    <head>
        <title>Nhic0de (WIP)</title>
        <meta charset="UTF-8">
        <link rel="stylesheet" href="../css/nhicode.css">
        <link rel="icon" href="../msc/icon/nhicode.ico">
        <script type="text/javascript">
            function isValid(){
                var password = document.getElementById('password').value;
                if (password == "start")
                    {
                        window.location = "level-1.html";
                        alert(":)")
                    }
                else
                    {alert('Mauvais mot de passe !')}
                }
        </script>
    </head>
    
    <body id="fond">
        <div id="contenu"> <!--Présentation rapide de Nihcode et de son fonctionnement-->
            <h1 style="text-align:center;">
                Bienvenue sur <strong> Nihc0de ! (WORK IN PROGRESS)</strong>
            </h1>
            <p>
                Les règles du jeu sont simples, vous devez trouver le mot de passe du niveau pour passer au niveau suivant à indiquer <a href="#mdp">ci-dessous</a> en résolvant des énigmes.
                    <br>
                Les énigmes sont variées et leur méthodes de résolutions peuvent être trouvées via d'autres énigmes.
                    <br>
                Pour certaines, vous devrez aller trifouiller dans votre imagination, dans le code ou bien encore sur la page.
                    <br>
                Si vous rencontrez un bug veuillez <a href="../index.html#contacts">me contacter</a>.
                    <br>
                Pour de l'aide supplémentaire veuillez vous réferer <a href="help.html">ici</a>.
            </p>
        </div>
            <br><br>
        <div id="mdp"> <!--Input réponse-->    
            <form name="PasswordField" action="">
                    Mot de passe:
                <input type="password" id="password" name="password" placeholder="Mot de passe...">
                <input type="submit" value="Niveau suivant" onclick="isValid();">
            </form>
        </div>
            <br><br>
        <div id="contenu"> <!--Premier indice (Déja dans le code toi ?)-->
            <p>
                Sur ce, commençons la première épreuve, à <em>b1ent0t</em>.
            </p>
            <hr style="height:2000pt; visibility:hidden;" />  <!--Faire un grand espace-->
            <p  style="font-size: 10px;" >
                01110011 01110100 01100001 01110010 01110100
            </p>
        </div>
    </body>
</html>

If I try to replace the link with an incorrect link, it works and takes me to the page with the wrong link.

I really have no clues of what happens, and in fact, this code works and it's the same so I really need help thanks

<!DOCTYPE html>

<html>
    <head>
        <title>Level 2</title>
        <meta charset="UTF-8">
        <link rel="stylesheet" href="../css/nhicode.css">
        <link rel="icon" href="../msc/icon/nhicode.ico">
        <script type="text/javascript">
            function isValid(){
                var password = document.getElementById('password').value;
                if (password == "a")
                    {
                        window.location = "level-2.html";
                        alert(":)")
                    }
                else
                    {alert('Mauvais mot de passe !')}
                }
        </script>
    </head>
    
    <body id="fond">
        <div id="banner"> <!--Bandeau-->
            Accueil 
        </div>
        <hr style="height:40pt; visibility:hidden;" />
        <div id="contenu"> <!--Enigme-->
            Sans moi, Paris serait pris. Qui suis-je ? Je suis également présent dans vos apophtegme à 7.11% par mot. Bonne chance !
        </div>
            <br><br>
        <div id="mdp"> <!--Input réponse-->    
            <form name="PasswordField" action="">
                    Mot de passe (1 lettre):
                <input type="password" id="password" name="password" placeholder="Mot de passe...">
                <input type="submit" value="Niveau suivant" onclick="isValid();">
            </form>
        </div>
    </body>
</html>

CodePudding user response:

I have checked the same code without using forms. when not using forms, the page is getting redirected

<!DOCTYPE html>

<html>
    <head>
        <title>Level 2</title>
        <meta charset="UTF-8">
        <link rel="icon" href="../msc/icon/nhicode.ico">
        <script type="text/javascript">
            function isValid(){
                var password = document.getElementById('password').value;
                if (password === "a")
                    {
                        window.location.replace("https://www.google.com");
                        alert(":)"); 
                    }
                else
                    {alert('Mauvais mot de passe !')}
                }
        </script>
    </head>
    
    <body id="fond">
        <div id="banner"> <!--Bandeau-->
            Accueil 
        </div>
        <hr style="height:40pt; visibility:hidden;" />
        <div id="contenu"> <!--Enigme-->
            Sans moi, Paris serait pris. Qui suis-je ? Je suis également présent dans vos apophtegme à 7.11% par mot. Bonne chance !
        </div>
            <br><br>
        <div id="mdp"> <!--Input réponse-->    
            <div name="PasswordField" >
                    Mot de passe (1 lettre):
                <input type="password" id="password" name="password" placeholder="Mot de passe...">
                <input type="submit" value="Niveau suivant" onclick="isValid()">
            </div>
        </div>
    </body>
</html>

CodePudding user response:

Why are you using window.location?

Use:

window.location.href = "level-1.html"

CodePudding user response:

The following code will use form as well. It is getting redirected when correct password is given

<!DOCTYPE html>

<html>
    <head>
        <title>Level 2</title>
        <meta charset="UTF-8">
        <link rel="icon" href="../msc/icon/nhicode.ico">
        <script type="text/javascript">
            function isValid(){
                var password = document.getElementById('password').value;
                if (password === "a")
                    {
                        setTimeout(() => {
                            window.location.replace("https://www.google.com");
                        });
                        alert(":)"); 
                    }
                else
                    {alert('Mauvais mot de passe !')}
                }
        </script>
    </head>
    
    <body id="fond">
        <div id="banner"> <!--Bandeau-->
            Accueil 
        </div>
        <hr style="height:40pt; visibility:hidden;" />
        <div id="contenu"> <!--Enigme-->
            Sans moi, Paris serait pris. Qui suis-je ? Je suis également présent dans vos apophtegme à 7.11% par mot. Bonne chance !
        </div>
            <br><br>
        <div id="mdp"> <!--Input réponse-->    
            <form name="PasswordField">
                    Mot de passe (1 lettre):
                <input type="password" id="password" name="password" placeholder="Mot de passe...">
                <input type="submit" value="Niveau suivant" onclick="isValid()">
            </form>
        </div>
    </body>
</html>

  •  Tags:  
  • Related