Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.01.2017, 02:04
Новичок на форуме
Отправить личное сообщение для Евгений Базаров Посмотреть профиль Найти все сообщения от Евгений Базаров
 
Регистрация: 14.08.2016
Сообщений: 6

Проверка заполнения формы
Абсолютный новичок в JS и не знаю всех его возможностей.
Есть самая простая форма:
<form method="get">
     <input type="password"  value="Пароль" autofocus required>
     <input type="submit" value="ВОЙТИ" onClick='location.href="1.html"'>
</form>

Я хочу узнать про возможность написания скрипта, который будет проверять содержимое поля "Пароль", и если там "123456" (заданный мной пароль), submit становится доступен для нажатия и переводит по указанной ссылке. Если в поле пусто, или там не 123456, то submit не переводит по ссылке, disabled.
Пишу сайт в html.
Возможно ли написать такой скрипт? Если да, то я буду премного благодарен, если вы приведёте пример такого скрипта, а я сам постараюсь его разобрать, что почему и как работает.
Ответить с цитированием
  #2 (permalink)  
Старый 29.01.2017, 06:14
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от Евгений Базаров
Я хочу узнать про возможность написания скрипта, который будет проверять содержимое поля "Пароль", и если там "123456"
Клиенту никоим образом пароли не должны быть доступны, пароль и даже не он сам, а его хеш хранится на сервере, и доступ к чему-то должен давать сервер.
Ответить с цитированием
  #3 (permalink)  
Старый 29.01.2017, 11:12
Новичок на форуме
Отправить личное сообщение для Евгений Базаров Посмотреть профиль Найти все сообщения от Евгений Базаров
 
Регистрация: 14.08.2016
Сообщений: 6

Или я Вас не правильно понял, или Вы меня.
Для меня подойдёт вариант, что этот пароль будет прописан в скрипте, и его можно будет увидеть в исходном коде.
Мне представляется такая цепочка: пользователь вводит пароль - скрипт проверяет введенный данные - если там 123456, то submit доступен, иначе submit недоступен.
Не силён в синтаксисе JS, но подозреваю, что там обыкновенные if {не 123456} then {submit disabled} else {submit по умолчанию}
Примерно так я себе это представляю. Ошибаюсь?
Ответить с цитированием
  #4 (permalink)  
Старый 29.01.2017, 11:18
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от Евгений Базаров
Для меня подойдёт вариант, что этот пароль будет прописан в скрипте
Вам может что угодно подойти, а вот вашим пользователям нет. Зачем нужна эта идиотская проверка на доступ к чему-то, если любой кому не лень может посмотреть в исходниках что сравнивается? А если сравнивать на клиенте, то каким образом вы будет знать какой пароль у текущего клиента, все отдать которые есть на сервере?

Вы вообще соображаете что говорите? Вы ответственны за хранение конфиденциальных данных клиентов, а вы их хотите добровольно вывалить для всеобщего обозрения.

Клиент вводит логин/пароль, отправляет серверу, сервер проверят есть ли такой клиент и по результату принимает решение. И только так, и никак иначе.
Ответить с цитированием
  #5 (permalink)  
Старый 29.01.2017, 11:31
Новичок на форуме
Отправить личное сообщение для Евгений Базаров Посмотреть профиль Найти все сообщения от Евгений Базаров
 
Регистрация: 14.08.2016
Сообщений: 6

У меня абсолютно несерьезный проект, там не будет большого количества пользователей, так сказать, только для своих (15-20 человек - примерно школьный класс), и пароль будет у всех один. Я прекрасно понимаю, что это очень ненадёжно, но мне надёжность и не нужна! Не те масштабы! Это во-первых.
Во-вторых я это делаю никак не для безопасности, а больше для создания эффекта конфиденциальности. Ежу понятно, что можно спокойно обойти эту страницу с паролем, зная url следующей страницы, но всё делается исключительно для эффекта.
В-третьих логина нет, только пароль и кнопка "вход".
Если Вы знаете, как написать такой скрипт, и поможете мне с этим, я буду Вам премного благодарен.
Ответить с цитированием
  #6 (permalink)  
Старый 29.01.2017, 11:35
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

Евгений Базаров,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">

  <script>
window.addEventListener('DOMContentLoaded', function() {
  var form = document.querySelector('form'),
  password = form.querySelector('[type="password"]');
  form.addEventListener('submit', function(event) {
   password.value != "12345" && event.preventDefault();
  },false);
    });
  </script>
</head>

<body>
<form method="get" action="1.html">
  <input type="password"  value="Пароль" autofocus required>
  <input type="submit" value="ВОЙТИ" >
</form>


</body>
</html>
Ответить с цитированием
  #7 (permalink)  
Старый 29.01.2017, 11:38
Новичок на форуме
Отправить личное сообщение для Евгений Базаров Посмотреть профиль Найти все сообщения от Евгений Базаров
 
Регистрация: 14.08.2016
Сообщений: 6

рони,
СПАСИБО! То, что нужно!
Ответить с цитированием
  #8 (permalink)  
Старый 29.01.2017, 11:45
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

Евгений Базаров,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
<style type="text/css">
[type="submit"][disabled] {
  background-color: #FF3D3D;
}
[type="submit"] {
  background-color: #009900;
}
</style>
  <script>
window.addEventListener('DOMContentLoaded', function() {
  var form = document.querySelector('form'),
  password = form.querySelector('[type="password"]'),
  submit = form.querySelector('[type="submit"]');
  form.addEventListener('submit', function(event) {
   password.value != "12345" && event.preventDefault();
  },false);
  password.addEventListener('input', function(event) {
   password.value != "12345" ? submit.setAttribute("disabled", "disabled") : submit.removeAttribute("disabled");
  },false);

   });
  </script>
</head>

<body>
<form method="get" action="1.html">
  <input type="password"  value="Пароль" autofocus required>
  <input type="submit" value="ВОЙТИ"  disabled="disabled">
</form>


</body>
</html>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка заполнения полей формы kefalia Общие вопросы Javascript 25 23.04.2016 01:05
Проверка условия заполнения формы дата рождения vitya_rk Общие вопросы Javascript 1 20.12.2014 16:19
проверка формы не работает в ie begelme Javascript под браузер 6 13.08.2013 01:00
Проверка заполнения формы zoOmer Оффтопик 3 27.05.2013 08:30
Проверка заполнения элементов формы Olegans Элементы интерфейса 0 07.04.2013 21:11