Я следовал за отличным сообщением Нади здесь jQuery переопределить отображение сообщения об ошибке проверки по умолчанию (Css) Всплывающее окно / всплывающая подсказка, как , и это прекрасно работает.Но форма, над которой я работаю, отправляется через ajax, и таблица над формой обновляется при успешном завершении. Таблица увеличивается с каждой отправкой, и в результате позиция формы смещается вниз на странице.Решение Nadia отображает сообщение об ошибке при вызове функции errorPlacement.Проблема в том, что errorPlacement вызывается только в первый раз, когда происходит ошибка.Когда пользователь исправляет ошибку, div скрывается, но не удаляется.Таким образом, в следующий раз, когда произойдет сбой проверки, функция validate заменит только HTML-код оболочки div.В результате абсолютная позиция отключена, поскольку она была рассчитана относительно входных данных до изменения таблицы.Кто-нибудь сталкивался с этим и есть обходной путь?Ниже я использую функцию размещения ошибок, которая прямо из решения Нади в связанном посте.
errorPlacement: function(error, element) {
offset = element.offset();
error.insertBefore(element)
error.addClass('message'); // add a class to the wrapper
error.css('position', 'absolute');
error.css('left', offset.left + element.outerWidth());
error.css('top', offset.top);
}