Задать вопрос
@saver116
front-end developer

Как сделать переход на другую страницу если имя и пароль верно?

как сделать так чтобы когда имя и пароль написано при нажатии на кнопку переходила на другую страницы а если input не заполнен то просто было написано "Заполните поле"
<div class="steam-box">
        <h2>Login</h2>
        <form>
            <div class="input-box">
                <input type="text" name="" required="">
                <label>Username</label>
            </div>

            <div class="input-box">
                <input type="password" name="password1" required="" id="password">
                <label>Password</label>
                <div id="toggle" onclick=" showHide();"></div>
            </div>
            <input type="submit" name="" value="Sign in">
        </form>
    </div>

.steam-box {
            position: relative;
            margin-top: 15%;
            left: 50%;
            width: 400px;
            transform: translate(-50%, -50%);
            padding: 40px;
            background: rgba(0, 0, 0, 0.8);
            box-sizing: border-box;
            box-shadow: 0 15px 25px rgba(0, 0, 0, .5);
            border-radius: 10px;
        }
        
        .steam-box h2 {
            margin: 0 0 30px;
            padding: 0;
            color: #fff;
            text-align: center;
        }
        
        .steam-box .input-box {
            position: relative;
        }
        
        .steam-box .input-box input {
            width: 100%;
            padding: 10px 0;
            font-size: 16px;
            color: #fff;
            letter-spacing: 1px;
            margin-bottom: 30px;
            border: none;
            border-bottom: 1px solid #fff;
            outline: none;
            background: transparent;
        }
        
        .steam-box .input-box label {
            position: absolute;
            top: 0;
            left: 0;
            letter-spacing: 1px;
            padding: 10px 0;
            font-size: 16px;
            color: #fff;
            pointer-events: none;
            transition: .5s;
        }
        
        .steam-box .input-box input:focus~label,
        .steam-box .input-box input:valid~label {
            top: -20px;
            left: 0;
            color: #03a9f4;
            font-size: 12px;
        }
        
        .steam-box input[type="submit"] {
            background: transparent;
            border: none;
            color: #fff;
            background: #03a9f4;
            padding: 10px 20px;
            cursor: pointer;
            border-radius: 5px;
        }
        
        #toggle {
            position: absolute;
            top: 35%;
            right: 20px;
            transform: translateY(-50%);
            width: 50px;
            height: 50px;
            background: url(photos/show.png);
            background-size: cover;
            cursor: pointer;
        }
        
        #toggle.hide {
            background: url(photos/unshow.png);
            background-size: cover;
        }

function showHide() {
    if (password.type === 'password') {
        password.setAttribute('type', 'text');
        toggle.classList.add('hide')
    } else {
        password.setAttribute('type', 'password');
        toggle.classList.remove('hide')
    }
}
  • Вопрос задан
  • 2646 просмотров
Подписаться 2 Простой 1 комментарий
Решения вопроса 1
@Steppp
Если уж прям надо как написано у тебя в вопросе, то вот!
<div class="steam-box">
    <h2>Login</h2>
    <form>
        <div class="input-box">
            <input type="text" name="login" id="login" required>
            <label>Username</label>
        </div>

        <div class="input-box">
            <input type="password" name="password1"  id="password" required>
            <label>Password</label>
            <div id="toggle" onclick=" showHide();"></div>
        </div>
        <input type="submit" value="Sign in">
    </form>
</div>

<script>
const form = document.forms[0];
const text = form.querySelectorAll(`.input-box`);

let textLogin = text[0].querySelector(`label`);
let textPass = text[1].querySelector(`label`);

form.addEventListener(`submit`, (evt) => {
  evt.preventDefault();
   if (form.elements.login.value === '') {
    textLogin.textContent = `Заполните поле`;
   } else if (form.elements.password.value === '' ) {
    textPass.textContent = `Заполните поле`;
   } else {
    document.location.href = "НТТР: // сайт . ру /";
   }
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
gscraft
@gscraft
Программист, философ
На какую страницу и зачем хотите перейти? Логин и пароль не собираетесь отправлять на сервер? Я почему уточняю, если дело в этом, то нужно форме добавить атрибут action="/login-form/handler/url" и, по всей видимости, method="post". Ну или перехватить обработку формы / нажатия на произвольную кнопку и отправить данные через AJAX. Если же ничего делать с логином и паролем не собираетесь, то в JS это window.location.href='новый адрес';
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы