Переход на другую страницу,после проверки пароля
Добрый день. Нужно сделать простую проверку пароля.Если пароль правильный,перейдет на другую страницу. Пароль проверяет,но на страницу не переходит.Пока слабоват в скрипте ,подскажите как сделать правильно.Буду очень признателен.
<!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; и все получится
|
Цитата:
|
<!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>
<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) != null) && pasCode.value.match(/rai50/g)[0] == passw){
window.location.href = "http://www.google.com";
}
else{
alert('Wrong...!')
return false;
}
}
</script>
</body>
</html>
|
valiker,
вы же понимаете, насколько ненадежная эта защита, да? |
Цитата:
|
Искал скрипт, как сделать переход на другую страницу сайта нажав кнопку, но с проверкой введенного пароля (ребенку хотел игру типа квеста сделать). Нашел эту ветку многолетней давности.
Добавил еще найденный скрипт на отмену использования правой кнопки мышки и горячих клавиш для просмотра кода страницы - чтоб там пароль не подсмотрели так просто. Но тут обратил внимание, что скрипт принимает не только указанный пароль: var passw = "rai50" Но и все комбинации содержащие указанную комбинацию, в данном случае "rai50" при вводе, хоть в конце, хоть в начале, хоть и там и там любое *rai50* В принципе для моих целей это не критично. Но всё же интересно, это можно как-то исправить в данном коде? |
Amok_Yu,
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>
|
Цитата:
Цитата:
|
| Часовой пояс GMT +3, время: 20:28. |