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>
