@ART4

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

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

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

Потом в саму кнопку вставлю:
onclick="hideme(this)"
Понятно что скроется сразу и не ясно, что там и как. Как решать такое?
  • Вопрос задан
  • 138 просмотров
Решения вопроса 2
megafax
@megafax
web-программист
У Вас должен быть такой алгоритм:

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

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

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

Похожие вопросы
22 нояб. 2024, в 06:06
1500 руб./в час
22 нояб. 2024, в 06:04
1 руб./за проект
22 нояб. 2024, в 03:54
1500 руб./за проект