@unlik

Изменение стилей после отправки формы?

После отправки формы выполняется

onsubmit="document.getElementById('osForm').style.display = 'none';document.getElementById('form_one_success').style.display = 'block';"


То есть один блок скрывается, другой появляется. Как можно через 5 секунд вернуть обратно?
  • Вопрос задан
  • 105 просмотров
Решения вопроса 2
Vlad_IT
@Vlad_IT Куратор тега JavaScript
Front-end разработчик
Куда-нибудь в JS
var timeout;
function showBlocks() {
    document.getElementById('osForm').style.display = 'none';
    document.getElementById('form_one_success').style.display = 'block';
    clearTimeout(timeout);
    timeout = setTimeout(function() {
        document.getElementById('osForm').style.display ='block';
        document.getElementById('form_one_success').style.display = 'none';
    }, 5000);
}

а в onsubmit напишите только
onsubmit="showBlocks();"
Ответ написан
muzikant777
@muzikant777
PHP/Vue разработчик
function onSubmit () {
  document.getElementById('osForm').style.display = 'none';
  document.getElementById('form_one_success').style.display = 'block';
  setTimeout(function () {
    document.getElementById('form_one_success').style.display = 'none';
    document.getElementById('osForm').style.display = 'block';
  }, 5000);
}


Но, вообще, я бы не советовал опираться на таймеры, т.к. JS не факт, что стили данных элементов не изменятся кем-то другим, пока функция в таймере будет ждать своего выполнения.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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