Я следил за отличным сообщением Нади здесь jQuery override Отображение сообщения об ошибке проверки по умолчанию (Css) Всплывающее окно / всплывающая подсказка, как, и он отлично работает. Но форма, над которой я работаю, отправляется через ajax, и таблица над формой обновляется при успешном выполнении. Таблица растет с каждой отправкой, и в результате позиция формы скользит вниз на странице. Решение Нади выдает сообщение об ошибке при вызове функции errorPlacement. Проблема в том, что errorPlacement вызывается только в первый раз, когда возникает ошибка. Когда пользователь исправляет ошибку, div скрывается, но не удаляется. Таким образом, в следующий раз, когда произойдет сбой проверки, функция проверки заменит только 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);
}