У меня есть настроенная форма, которая позволяет пользователям регистрироваться на нашем мобильном сайте. Он имеет базовую проверку JavaScript с помощью плагина проверки jQuery. Тем не менее, наш скрипт отправки формы также выполняет проверку. По этой причине, если обнаружена ошибка, сервер отправляет HTTP-перенаправление на страницу ошибки с некоторыми $_GET
данными.
Когда вы загружаете страницу формы, любые ошибки, найденные в массиве $_GET
, выводятся в соответствующее поле в <div class="error">
. Это прекрасно работает.
Поскольку jQuery validator и наш PHP-скрипт оба выполняют одинаковую проверку, имеет смысл выводить ошибки в одно и то же поле div.error
. Это также (теоретически) избавит от сообщения об ошибке после проверки поля.
Однако, если я изменю errorElement: "div"
в валидаторе jQuery, по какой-то причине ошибки даже не упоминаются. Изменение этого значения на em
, label
или p
решает проблему. Но если мы изменим наш начальный элемент на любой из них, он снова сломается.
Это должна быть функция, встроенная в сценарий проверки jQuery, она не будет выводить ошибку в элемент, который уже существует, если только он не создан средством проверки. Как я могу обойти это?
Вот скрипка, демонстрирующая проблему, замените errorElement: "div"
на любой элемент, и он будет работать.
http://jsfiddle.net/mDvHh/