@tvelforce

Как вывести ajax ошибку в Блоке?

Доброго времени суток.
Не получается вывести обратный текст на странице.
HTML:
<div class="form_line">
        <div class="send_page button">Отправить</div> <!-- Кнопка отправки формы -->
        <div class="form_error"></div> <!-- Блок где выводится ошибка-->
</div>


Ajax:
$(function() {  
  $(".send_page").click(function(){
    $.ajax({
      type: "POST",
      url: "/main/hand.php",
      data: $(this).closest("form").serialize(),
      cache: false,						
      success: function(msg){ $(this).next().html(msg); } // берем кнопку, ищем следующий элемент, вставляем в него текст ошибки
    });
  });
});


В общем если вставлять текст ошибки напрямую в блок:
success: function(msg){ $(".form_error").html(msg); }

то всё работает, но у меня на странице очень много таких блоков.

Буду благодарен за любую помощь.
  • Вопрос задан
  • 1131 просмотр
Решения вопроса 2
VladimirAndreev
@VladimirAndreev
php web dev
В коллбэке $(this) ajax $(this) - это ссылка не на элемент, по которому кликнули..
попробуй в обработчике объявить:
var e = ($this)
а в коллбэке обращаться к этой переменной.
Ответ написан
Комментировать
@sunrails
;(function($) {
    $(document).ready(function() {
    var form = $('.form_line');
  
    form.find(".send_page").click(function(){
      $.ajax({
        type: "POST",
        url: "/main/hand.php",
        data: form.serialize(),
        cache: false,						
        success: function(msg){ form.find('.form_error').html('m111sg'); }
      });
    });
  });
})(jQuery);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@tvelforce Автор вопроса
Большое спасибо за помощь!
$(function() {  
  $(".send_page").click(function(){
    var form = $(this).closest("form");
    
    $.ajax({
      type: "POST",
      url: "/main/hand.php",
      data: form.serialize(),
      cache: false,						
      success: function(msg){ form.find(".form_error").fadeIn('show').html(msg); }
    });
	return false;
  });
});
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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