Вызов следующего файла
Добрый день,
После проверки ввода username, email и password и нажатии на кнопку "Enter" должны вызвать следующий файл "new.html", который запомнит имя пользователя при условии правильного ввода почтового адреса и пароля. В этом у меня проблема, не знаю как записать :( <button class="button button1">Enter</button> <form id="form" class="form"> <div class="main"> <div class="form-control"> <input class="reg_input" type="text" placeholder="Username" id="username" /> <i class="fas fa-check-circle"></i> <i class="fas fa-exclamation-circle"></i> <small>Error message</small> </div> <div class="form-control"> <input class="reg_input" type="email" placeholder="Email" id="email" /> <i class="fas fa-check-circle"></i> <i class="fas fa-exclamation-circle"></i> <small>Error message</small> </div> <div class="form-control"> <input class="reg_input" type="password" placeholder="Password" id="password"/> <i class="fas fa-check-circle"></i> <i class="fas fa-exclamation-circle"></i> <small>Error message</small> </div> </div> <button class="button button1">Enter</button> </form>
const form = document.getElementById('form');
const username = document.getElementById('username');
const email = document.getElementById('email');
const password = document.getElementById('password');
const password2 = document.getElementById('password2');
form.addEventListener('submit', e => {
e.preventDefault();
checkInputs();
let user = checkInputs()
if (user.isValid){
localStorage.setItem("user",JSON.stringify(user))
}
});
function checkInputs() {
// trim to remove the whitespaces
const usernameValue = username.value.trim();
const emailValue = email.value.trim();
const passwordValue = password.value.trim();
const password2Value = password2.value.trim();
let isValid = true
if(usernameValue === '') {
setErrorFor(username, 'Username cannot be blank');
isValid = false
} else {
setSuccessFor(username);
}
if(emailValue === '') {
setErrorFor(email, 'Email cannot be blank');
isValid = false
} else if (!isEmail(emailValue)) {
setErrorFor(email, 'Not a valid email');
isValid = false
} else {
setSuccessFor(email);
}
if(passwordValue === '') {
setErrorFor(password, 'Password cannot be blank');
isValid = false
} else {
setSuccessFor(password);
}
if(password2Value === '') {
setErrorFor(password2, 'Password2 cannot be blank');
isValid = false
} else if(passwordValue !== password2Value) {
setErrorFor(password2, 'Passwords does not match');
isValid = false
} else{
setSuccessFor(password2);
}
return {usernameValue,emailValue,passwordValue, isValid}
}
function setErrorFor(input, message) {
const formControl = input.parentElement;
const small = formControl.querySelector('small');
formControl.className = 'form-control error';
small.innerText = message;
}
function setSuccessFor(input) {
const formControl = input.parentElement;
formControl.className = 'form-control success';
}
function isEmail(email) {
return /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(email);
}
// SOCIAL PANEL JS
const floating_btn = document.querySelector('.floating-btn');
const close_btn = document.querySelector('.close-btn');
const social_panel_container = document.querySelector('.social-panel-container');
floating_btn.addEventListener('click', () => {
social_panel_container.classList.toggle('visible')
});
close_btn.addEventListener('click', () => {
social_panel_container.classList.remove('visible')
});
|
Это просто задание такое, нужно просто вызвать другой файл и чтобы он помнил имя пользователя. Использую только html файлы, css и js.
|
Оказывается немного неверно была поставлена задача. В общем:
index.html Username (Вводим имя) Email (Вводим почту) Password (Вводим пароль) Registration (Кнопка для вызова следующего файла, где вводится имя и пароль и в этом файле произойдет проверка с данными первого файла) index.html
<script src="main.js"></script>
</head>
<body>
<form id="form" class="form">
<div class="mtavari">
<div class="form-control">
<input class="reg_input" type="text" placeholder="Username" id="username" />
<i class="fas fa-check-circle"></i>
<i class="fas fa-exclamation-circle"></i>
<small>Error message</small>
</div>
<div class="form-control">
<input class="reg_input" type="email" placeholder="Email" id="email" />
<i class="fas fa-check-circle"></i>
<i class="fas fa-exclamation-circle"></i>
<small>Error message</small>
</div>
<div class="form-control">
<input class="reg_input" type="password" placeholder="Password" id="password"/>
<i class="fas fa-check-circle"></i>
<i class="fas fa-exclamation-circle"></i>
<small>Error message</small>
</div>
<div class="form-control">
<a class="button button1" href="login.html">Registration</a>
</div>
</div>
</form>
login.html Username (Вводим имя) Password (Вводим пароль) Login (кнопка для проверки имени и пароля с данными index.html и если всё верно, то вызовет следующий файл) login.html
<script src="main.js"></script>
<script>
let user = JSON.parse(localStorage.getItem("user"))
</script>
</head>
<body>
<form id="form" class="form">
<div class="mtavari">
<div class="form-control">
<input class="reg_input" type="text" placeholder="Username" id="username" />
<i class="fas fa-check-circle"></i>
<i class="fas fa-exclamation-circle"></i>
<small>Error message</small>
</div>
<div class="form-control">
<input class="reg_input" type="password" placeholder="Password" id="password"/>
<i class="fas fa-check-circle"></i>
<i class="fas fa-exclamation-circle"></i>
<small>Error message</small>
</div>
<div class="form-control">
<a class="button button1" href="watch_1.html">Login</a>
</div>
</div>
</form>
В login.html должна произойти проверка имени и пароля, чтонепонятно пока как сделать. В main.js у меня находится сам код, который в первом сообщении был указан. |
Вложений: 1
В login.html добавлен код, но всё равно не работает :(
<script>
let user = JSON.parse(localStorage.getItem("user"))
let password = JSON.parse(localStorage.getItem("password"))
function check() {
if(username2Value === '') {
setErrorFor(username2, 'Username cannot be blank');
isValid = false
} else if(username2Value !== usernameValue) {
setErrorFor(username2, 'Username does not match');
isValid = false
} else{
setSuccessFor(username2);
}
if(password2Value === '') {
setErrorFor(password2, 'Password cannot be blank');
isValid = false
} else if(passwordValue !== password2Value) {
setErrorFor(password2, 'Passwords does not match');
isValid = false
} else{
setSuccessFor(password2);
}
</script>
|
Rise,
Огромное спасибо, переделала под свой вариант и по-моему получилось так, как нужно было. Завтра мне уже точнее скажут, так надо было сделать или нет. Но по-моему всё сделано так, как нужно. В самой логике тоже разобралась и поняла, где и в чем я ошибалась. Еще раз спасибо!!! |
| Часовой пояс GMT +3, время: 02:34. |