Просмотр полной версии : Переход на другую страницу,после проверки пароля
Добрый день. Нужно сделать простую проверку пароля.Если пароль правильный,перейдет на другую страницу. Пароль проверяет,но на страницу не переходит.Пока слабоват в скрипте ,подскажите как сделать правильно.Буду очень признателен.
<!DOCTYPE html>   
<head>  
<meta charset="utf-8">  
<title>pass validation</title>  
<link rel='stylesheet' href='form-style.css' type='text/css' />  
</head>  
<body>  
<div class="mail">  
<h2>Input Password and Submit [6 to 20 characters which contain at least one numeric digit, one uppercase and one lowercase letter]</h2>  
<form name="form1" action="#">  
<ul>  
<li><input type='text' name='text1'/></li>  
<li class="rq">*Enter numbers only.</li>  
<li> </li>  
<li class="submit"><input type="submit" name="submit" value="Submit" onclick="CheckPassword(document.form1.text1)"/></li>  
<li> </li>  
</ul>  
</form>  
</div>  
<script type="text/javascript">
function CheckPassword(inputtxt)   
{   
var passw = "rai50";  
if(inputtxt.value.match(passw))   
{   
return true; 
document.location.href = "http://www.google.com";
}  
else  
{   
alert('Wrong...!')  
return false;  
}  
} 
</script>  
</body>  
</html>
Удалите return true; и все получится
Удалите return true; и все получится
убрал,не получилось.
<!DOCTYPE html>   
<head>  
<meta charset="utf-8">  
<title>pass validation</title>  
</head>  
<body>  
<div class="mail">  
<h2>Input Password and Submit [6 to 20 characters which contain at least one numeric digit, one uppercase and one lowercase letter]</h2>  
<form name="form1" action="#">  
<ul>  
<li><input type='text' name='text1' id="pas"/></li>  
<li class="rq">*Enter numbers only.</li>  
<li> </li>  
<li class="submit"><input type="submit" name="submit" value="Submit" onclick="CheckPassword()"/></li>  
<li> </li>  
</ul>  
</form>  
</div>  
<script type="text/javascript">
function CheckPassword(inputtxt)   
{   
var passw = "rai50";  
var pasCode = document.getElementById("pas");
if(pasCode.value.match(/rai50/g)[0] == passw)   
{   
alert("Good");
window.location = "http://first_site/";
document.write("All be good! ;)");
return true;
}  
else  
{   
alert('Wrong...!')  
return false;  
}  
} 
</script>  
</body>  
</html>
Если выводит сообщение "Good", значит проверка прошла успешно
<!DOCTYPE html>   
<head>  
<meta charset="utf-8">  
<title>pass validation</title>  
</head>  
<body>  
<div class="mail">  
<h2>Input Password and Submit [6 to 20 characters which contain at least one numeric digit, one uppercase and one lowercase letter]</h2>  
<form name="form1" action="#">  
<ul>  
<li><input type='text' name='text1' id="pas"/></li>  
<li class="rq">*Enter numbers only.</li>  
<li> </li>  
<li class="submit"><input type="submit" name="submit" value="Submit" onclick="CheckPassword()"/></li>  
<li> </li>  
</ul>  
</form>  
</div>  
<script type="text/javascript">
function CheckPassword(inputtxt)   
{   
var passw = "rai50";  
var pasCode = document.getElementById("pas");
if(pasCode.value.match(/rai50/g)[0] == passw)   
{   
alert("Good");
window.location.href = "test.php";
}  
else  
{   
alert('Wrong...!')  
return false;  
}  
} 
</script>  
</body>  
</html>
Если выводит сообщение "Good", значит проверка прошла успешно
проверка там работает,мне нужен переход на другую страницу после проверки.
<!DOCTYPE html>   
<head>  
<meta charset="utf-8">  
<title>pass validation</title>  
</head>  
<body>  
<div class="mail">  
<h2>Input Password and Submit [6 to 20 characters which contain at least one numeric digit, one uppercase and one lowercase letter]</h2>  
<ul>  
<li><input type='text' id="pas"/></li>  
<li>*Enter numbers only.</li>  
<li> </li>  
<li class="submit"><input type="submit" onclick="CheckPassword()"/></li>  
<li> </li>  
</ul>   
</div>  
<script type="text/javascript">
function CheckPassword(){   
	var passw = "rai50";  
	var pasCode = document.getElementById("pas");
	if(pasCode.value.match(/rai50/g)[0] == passw){   
		window.location.href = "http://www.google.com";
		return true;
	}  
	else{   
		alert('Wrong...!')  
		return false;  
	}  
} 
</script>  
</body>  
</html>
Все должно работать.
Напишите, работает ли.
А так...
<!DOCTYPE html>   
<head>  
<meta charset="utf-8">  
<title>pass validation</title>  
<link rel='stylesheet' href='form-style.css' type='text/css' />  
</head>  
<body>  
<div class="mail">  
<h2>Input Password and Submit [6 to 20 characters which contain at least one numeric digit, one uppercase and one lowercase letter]</h2>  
<form name="form1" action="#">  
<ul>  
<li><input type='text' name='text1'/></li>  
<li class="rq">*Enter numbers only.</li>  
<li> </li>  
<li class="submit"><input type="submit" name="submit" value="Submit" onclick="return CheckPassword()"/></li>  
<li> </li>  
</ul>  
</form>  
</div>  
<script type="text/javascript">
function CheckPassword() {
	var passw = "rai50";
	var reg = new RegExp("^" + passw + "$");
	if(reg.test(document.form1.text1.value)) {   
		document.location.href = "http://www.google.com";
	} else {   
		alert('Wrong...!');
	} 
	return false;
} 
</script>
</body>  
</html>
<!DOCTYPE html>   
<head>  
<meta charset="utf-8">  
<title>pass validation</title>  
</head>  
<body>  
<div class="mail">  
<h2>Input Password and Submit [6 to 20 characters which contain at least one numeric digit, one uppercase and one lowercase letter]</h2>  
<ul>  
<li><input type='text' id="pas"/></li>  
<li>*Enter numbers only.</li>  
<li> </li>  
<li class="submit"><input type="submit" onclick="CheckPassword()"/></li>  
<li> </li>  
</ul>   
</div>  
<script type="text/javascript">
function CheckPassword(){   
	var passw = "rai50";  
	var pasCode = document.getElementById("pas");
	if(pasCode.value.match(/rai50/g)[0] == passw){   
		window.location.href = "http://www.google.com";
		return true;
	}  
	else{   
		alert('Wrong...!')  
		return false;  
	}  
} 
</script>  
</body>  
</html>
Все должно работать.
Напишите, работает ли.
на страницу переходит,но теперь не выводит алерт,если неправильный пароль
А так...
Да,все отлично !
Спасибо за помощь ,ребята!
<!DOCTYPE html>   
<head>  
<meta charset="utf-8">  
<title>pass validation</title>  
</head>  
<body>  
<div class="mail">  
<h2>Input Password and Submit [6 to 20 characters which contain at least one numeric digit, one uppercase and one lowercase letter]</h2>  
<ul>  
<li><input type='text' id="pas"/></li>  
<li>*Enter numbers only.</li>  
<li> </li>  
<li class="submit"><input type="submit" onclick="CheckPassword()"/></li>  
<li> </li>  
</ul>   
</div>  
<script type="text/javascript">
function CheckPassword(){   
	var passw = "rai50";  
	var pasCode = document.getElementById("pas");
	if((pasCode.value.match(/rai50/g) != null) && pasCode.value.match(/rai50/g)[0] == passw){   
		window.location.href = "http://www.google.com";
	}  
	else{   
		alert('Wrong...!')  
		return false;  
	}  
} 
</script>  
</body>  
</html>
valiker,
 вы же понимаете, насколько ненадежная эта защита, да?
valiker,
 вы же понимаете, насколько ненадежная эта защита, да?
на сайте будут разделы с информацией для оптовых и розничных покупателей. пароль будет висеть на разделе для оптовых покупателей.никакой важной информации там не будет. заказчик так захотел.
Искал скрипт, как сделать переход на другую страницу сайта нажав кнопку, но с проверкой введенного пароля (ребенку хотел игру типа квеста сделать). Нашел эту ветку многолетней давности.
Добавил еще найденный скрипт на отмену использования правой кнопки мышки и горячих клавиш для просмотра кода страницы - чтоб там пароль не подсмотрели так просто.
Но тут обратил внимание, что скрипт принимает не только указанный пароль:
var passw = "rai50"
Но и все комбинации содержащие указанную комбинацию, в данном случае "rai50" при вводе, хоть в конце, хоть в начале, хоть и там и там любое *rai50*
В принципе для моих целей это не критично. Но всё же интересно, это можно как-то исправить в данном коде?
Amok_Yu,
 if(pasCode.value === passw)
if(pasCode.value === passw)
Спасибо. Помогло.
Я в java не силен.  Но вроде разобрался.
Просто добавив эту строку перед if((pasCode.value.match... оно уже заработало, но перестало выдавать сообщение об ошибке при неправильном пароле.
А потом добавил через && в строку с if(...) и заработало как надо :dance: 
<script type="text/javascript">
function CheckPassword(){  
    var passw = "rai50"; 
    var pasCode = document.getElementById("pas");
    if((pasCode.value.match(/rai50/g) != null) && pasCode.value.match(/rai50/g)[0] == passw   &&  pasCode.value === passw){  
        window.location.href = "01.html";
    } 
    else{  
        alert('ОТВЕТ неверный. Попробуй ещё раз!') 
        return false; 
    } 
}
</script> 
Ещё несколько вопросов.:help: 
? Зачем это:
<div class="mail"> 
Я удалил - все работает.
 И в строке:
<li class="submit"><input type="submit" onclick="CheckPassword()"/></li>  - часть class="submit" тоже вроде лишняя. Удалил -работает.
Это просто ненужные остатки кода, который откуда-то скопипастили или все же это нужно оставить, т.к. в каком-то браузере без этого будет не работать?
 Я сделал все без разметки по пунктам через <ul> <li> и еще добавил скрипт, который запрещает использование правой кнопки мыши, комбинаций клавиш trl+U, ctrl+shift+i и F12. Чтобы нельзя было посмотреть код страницы, т.к. в нём пароль прописан. Нагуглил несколько. Взял самый понравившийся.
Вот что получилось:
<!DOCTYPE html>  
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>pass validation</title> 
</head> 
<!-- Запрет правой кнопки мыши  и горячих клавиш Ctrl+U и пр. (чтоб не посмотрели код страницы) -->
<script type="text/javascript">
document.onkeydown = function(event) {
    if (event.ctrlKey && (event.keyCode == 85) || (event.ctrlKey && event.shiftKey && (event.keyCode == 73)) || event.keyCode == 123) {
        return false
    }
}
document.oncontextmenu = function(){
    return false
}
</script>
<body>
<h2>Решите задание и введите пароль для перхода на следующую страницу</h2>
Пароль введите в окошке ниже.
<p>
<b>Введи пароль:</b> 
<input type='text' id="pas"/><br>
<font size="-1"> [пароль может содержать цифры, строчные и заглавные буквы русского и английского алфавита]</font>
<br><br>
<input type="submit"  value="Проверить пароль"  onclick="CheckPassword()"/><br>
<script type="text/javascript">
function CheckPassword(){  
    var passw = "кот50"; 
    var pasCode = document.getElementById("pas");
    if((pasCode.value.match(/кот50/g) != null) && pasCode.value.match(/кот50/g)[0] == passw  &&  pasCode.value === passw) {  
        window.location.href = "http://www.google.com";
    } 
    else{  
        alert('ПАРОЛЬ неверный. Попробуй ещё раз!') 
        return false; 
    } 
}
</script> 
</body> 
</html>
if((pasCode.value.match(/кот50/g) != null) && pasCode.value.match(/кот50/g)[0] == passw  &&  pasCode.value === passw)
достаточно одной таблетки!)))
if(pasCode.value === passw)
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot