@ART4

Задачка, которая решается в js?

Добрый день, сам себе задачу поставил, но что то тупняк.
Имеется форма обратная связь, при нажатие Отправить, форма должна скрыться (obj.parentNode.style.display = "none";), но при этом должна пройти проверку, правильно ли ввели данные, если нет, то показывает ошибки. Если всё ОК, отправляет данные и показывает сообщение, мол Мы отправили ваше письмо.

Форму сделал всё как обычно, но если я в кнопку введу:
function hideme(obj) {
        obj.parentNode.style.display = "none";
    }

Потом в саму кнопку вставлю:
onclick="hideme(this)"
Понятно что скроется сразу и не ясно, что там и как. Как решать такое?
  • Вопрос задан
  • 124 просмотра
Пригласить эксперта
Ответы на вопрос 3
l3ftoverz
@l3ftoverz Куратор тега JavaScript
Туды сюды
JavaScript Validation API

Но со стороны UX подход крайне плохой. (В смысле скрывать форму)
Ответ написан
megafax
@megafax
web-программист
У Вас должен быть такой алгоритм:

1. Валидируем данные, если что то не так - то прерываем цепочку и показываем ошибки на полях для ввода.
2. Отправляем запрос с данными из формы. Дожидаемся ответа. Если в ответе написано что все ок- то текущую форму скрываем, показываем окно со "спасибо". Если в ответе приходят ошибки - эту форм скрываем и показываем окно с "что то пошло не так, попробуйте позже". Если не дождались ответа или ответ "кривой" - то тоже скрываем екущую и показываем что что то не так.

Все валидации и отправки у Вас должны быть не на кнопке а на событие формы submit
Ответ написан
@painmaker
По нажатию на кнопку создаете событие. В нем проводите валидацию введенных данных. Далее обычная конструкция if/else. Если все ок - возвращаете сообщение, и через setTimeout скрываете форму. в блоке else, если не прошла выалидация, генерируете ошибку и выводите в форму, с подстветкой некорректных данных
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы