Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.12.2021, 14:27
Новичок на форуме
Отправить личное сообщение для buryak154 Посмотреть профиль Найти все сообщения от buryak154
 
Регистрация: 18.12.2021
Сообщений: 2

не работает кнопка, после удаления атрибута disabled
добрый день! начинаю изучать js, поставлена задача: при нажатии на кнопку login, открыть новую страницу в том же окне. Все работало, пока не добавила атрибут disabled для кнопки, чтобы не работала, пока поля имейл и пароль не заполнены. теперь, кнопка активной становится (т.е. disabled отключается), но нова страница перестала открываться. помогите, пожалуйста, разобраться
Вложения:
Тип файла: zip todo.zip (4.8 Кб, 2 просмотров)
Ответить с цитированием
  #2 (permalink)  
Старый 18.12.2021, 15:18
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,123

забавный случай ... если кто-то разберётся напишите ответ, куда '_self' девается когда атрибут убирается.
const email = document.querySelector('.login__input_email');
const emailError = document.querySelector('.error_login');
const emailCheck = /^(([^<>()[\].,;:\s@"]+(\.[^<>()[\].,;:\s@"]+)*)|(".+"))@(([^<>()[\].,;:\s@"]+\.)+[^<>()[\].,;:\s@"]{2,})$/iu;
const password = document.querySelector('.login__input_password');
const passwordError = document.querySelector('.error_password');
const login = document.querySelector('.btn_login');
const todo = document.querySelector('.todo');
const loginPage = document.querySelector('.login');
function validateEmail (value){
    return emailCheck.test(value);
}
function showError(){
    if (validateEmail (email.value)) emailError.style.color = 'white';
    else emailError.style.color = 'red';
}
email.addEventListener('input', showError);
function showErrorPass(){
    if (password.value.length >=8)
        passwordError.style.color = 'white';  
    else  passwordError.style.color = 'red';
}
password.addEventListener('input', showErrorPass);
function checkLength() {
    if ((password.value.length >= 8) && (validateEmail (email.value))) {
        login.removeAttribute('disabled');
    } 
}
password.addEventListener('keyup', checkLength);
email.addEventListener('keyup', checkLength);
function goTodo(){
    window.open('todo.html','_self',false);
}
login.addEventListener('click',goTodo);
Ответить с цитированием
  #3 (permalink)  
Старый 18.12.2021, 15:23
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,123

buryak154,
попробуй так.

function goTodo(event){
    event.preventDefault();
    window.open('todo.html','_self',false);
}
Ответить с цитированием
  #4 (permalink)  
Старый 18.12.2021, 15:34
Новичок на форуме
Отправить личное сообщение для buryak154 Посмотреть профиль Найти все сообщения от buryak154
 
Регистрация: 18.12.2021
Сообщений: 2

все работает так, спасибо!!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
После перезагрузки сервера сайт работает с ошибкой webforself Node.JS 6 13.11.2020 10:22
вставлять переменную в span Hovik Общие вопросы Javascript 17 20.12.2018 08:30
После удаления нужно обновить страницу Pumych Общие вопросы Javascript 3 15.02.2011 22:55
Не работает кнопка отправки после загрузки Igor Shmigoff jQuery 2 29.12.2010 21:51
Не работает кнопка "Назад" savagden Javascript под браузер 3 10.12.2009 20:25