Задать вопрос
janfichter
@janfichter
веб-мастер

Как присвоить нужный класс к body в зависимости от динамически созданного в php элемента?

Есть обычная форма отправки кода подтверждения с input и кнопкой, которая через php скрипт проверяет отправленный код на правильность и если код верный то выводит сообщение об успехе или ошибке. Сообщение это динамически выводится в тэг
<div id="myDiv">
<form method="post" action="act.php">
               Код подтверждения: <input name="code" maxlength="6" size="6" class="confirmation__code">
		<input type="submit" name="ok" value="Подтвердить" class="confirmation__btn">
	</div>
	<div id="out"></div>
</form>
</div>


Сообщение об успехе выглядит так:
<div class="conf_success">Правильный код подтверждения</div>

Об ошибке:
<div class="conf_error">Неверный код подтверждения</div>


Вопрос вот в чем: как с помощью jquery добавить класс к тегу body в зависимости от того успех там выводится или ошибка?
Jquery просто не видит динамически созданное через php сообщение об успехе или ошибке, а потому класс не присваивается.

Пробовал сделать вот так:
$(document).ready(function() {
	$("#myDiv .confirmation__btn").on("click", function() {
		$(this).parents("#myDiv").find(".conf_error").addClass('error');
	});
});


Но здесь я не к body пытался добавить класс, а к самому элементу хотя бы, для проверки
  • Вопрос задан
  • 139 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
Loovery
@Loovery
Оптимист
$(document).ready(function() {
  $('form').on('submit', function(e) {
    e.preventDefault(); // Отмена отправки формы

    // Отправка AJAX запроса на сервер
    $.ajax({
      type: 'post',
      url: 'act.php',
      data: $('form').serialize(),
      success: function(response) {
        if (response == 'success') {
          $('body').addClass('conf_success'); // Добавление класса для сообщения об успехе
        } else {
          $('body').addClass('conf_error'); // Добавление класса для сообщения об ошибке
        }
        $('#out').html(response); // Вывод сообщения на страницу
      }
    });
  });
});


=D
Ответ написан
Ваш ответ на вопрос

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

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