Я новичок в Javascript, и я хочу создать код, в котором будет открываться окно, предлагающее пользователю ввести определенный пароль. Если пароль правильный, то он «заходит» на страницу. На странице он может найти вход и кнопку. Он может изменить пароль, заполнив поле ввода и нажав кнопку «Отправить». В основном, чтобы изменить значение переменной. Проблема в том, что я не знаю, как «передать» ввод с id = "changePass" в переменную pass1, и тогда я не уверен, будет ли сохранен новый пароль. Заранее спасибо! Ниже вы можете найти мой код:
<html>
<body>
<script>
var entered = false;
var password;
var pass1 = "pass";
if (entered == false) {
password = prompt('Enter your password in order to view this page!', ' ');
if (password == pass1) {
alert('Correct Password, Enter the Club');
entered = true;
} else {
window.location = "";
}
} else if (entered == true) {
alert('You have already entered the password. Click OK to enter!');
}
</script>
<input id = "changePass"/>
<button id = "subimt" type"Submit">Submit</button>
</body>
</html>
Что ж, я надеюсь, что это всего лишь обучающее упражнение, поскольку оно не очень безопасно. Но чтобы сохранить пароль, вам понадобится место для его сохранения. Поскольку вы не можете изменить документ, вам нужно будет использовать что-то вроде localstorage или cookie. Но на самом деле пароли должны находиться на сервере, где они не видны пользователю.
Полагаю, это домашнее задание, верно? Итак, давайте начнем с самого начала. У вас установлена переменная pass1, и вы хотите, чтобы пользователь изменял ввод, changePass и нажимал кнопку subimt, чтобы установить для переменной pass1 новое значение. Что вы имеете в виду под спасением? Если пользователь обновляет страницу, вы хотите, чтобы он вошел в систему с новым паролем? Если да, вы ищете что-то вроде локального хранилища браузера, так как у вас, похоже, нет серверной части и базы данных?
Прежде всего, спасибо за ваши ответы. Прежде всего, честно говоря, я не знал, что проверки не должны выполняться на интерфейсе, но это звучит логично. Я постараюсь найти информацию о локальном хранилище и файлах cookie, если это единственный способ. @Anastasios Selmanis, прежде всего, это не домашнее задание, и да, всякий раз, когда пользователь нажимает кнопку отправки, пароль будет сохранен, а затем, если он обновит страницу, он должен ввести новый пароль, который он назначит переменной.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Мой друг, вы не можете полагаться на хранилище браузера и файлы cookie для входа в систему и хранения паролей. Наименьшая из ваших проблем заключается в том, что если пользователь очистит свои файлы cookie и историю, вы потеряете все это. :)
Вот почему я спросил, является ли это домашним заданием или, по крайней мере, чем-то, что вы действительно не заботитесь о сохранении учетных данных пользователя, и у ваших пользователей не будет проблем с повторным вводом пароля по умолчанию каждый раз.
С учетом сказанного ниже - это код, который вы хотите сохранить пароль для локальное хранилище.
<input id = "changePass"/>
<button id = "changePassBtn" type"Button" onclick='changePassBtnClick()'>Change Password</button>
<input id = "login"/>
<button id = "loginBtn" type"Button" onclick='loginBtnClick()'>Login</button>
<script>
if (!localStorage.getItem('password')){
localStorage.setItem('password', 'pass');
}
function changePassBtnClick(){
localStorage.setItem('password', document.getElementById('changePass').value);
alert('Password changed');
}
function loginBtnClick(){
if (document.getElementById('login').value == localStorage.getItem('password')){
alert('Correct Login');
}else{
alert('Wrong Password');
}
}
</script>
Прежде всего спасибо за то, что вы ответили на то, о чем я думал, но, судя по тому, что вы мне сказали, хранение паролей в интерфейсе является в основном плохим решением. По крайней мере, я узнал несколько моментов, связанных с этим вопросом, имея в виду локальное хранилище и где мне нужно выполнить проверку безопасности!