Элемент AP HTML не удаляется из обычного потока HTML в IE6 и IE7 - PullRequest
1 голос
/ 06 мая 2011

Я использую отличный валидатор контактной формы jQuery от bassistance (http://bassistance.de/jquery-plugins/jquery-plugin-validation/) - это именно то, что мне нужно, и он отлично работает во всех браузерах, кроме Internet Explorer 6 и 7.

Я исправилCSS, так что вместо сообщения об ошибке, когда что-то вводится неправильно или пропущено, он меняет текстовую область / границу ввода с серого на красный при http://www.stephblack.co.uk/contact.html

Я использовал следующий код CSS: #contact_form label.error {position: absolute; left: -10000px;}, которая отлично работает в большинстве браузеров. В IE6 и 7 сообщения об ошибках не отображаются, но вынуждают элементы, расположенные под ним, вносить беспорядок.

Я перепробовал все! AP с большой левой позицией - самый доступный способ сделать это, поэтому я хотел бы остановиться на этом, но я пробовал {display: none;}, {height: 0; width:0; overflow: hidden;}, установил firebug lite, чтобы убедиться, что я захватил правильный элемент. Может быть, это Javascript - я попытался удалить сообщение об ошибке в jquery.valфайл idate.js, но проблема все еще возникает.Я в растерянности, и я потратил часы на это: (

Не стесняйтесь взглянуть на код на сайте - HTML, CSS, Javascript и т. Д., И дайте мне знать, что вы измените.

Ваша помощь очень ценится!

Спасибо,

Мартин.

1 Ответ

0 голосов
/ 06 мая 2011

, хотя я не могу воспроизвести ошибку, так как в IE7 она отлично работает для меня с CSS, как есть, вы можете попробовать это, все еще доступно и просто обрезать содержимое сообщения об ошибке (это то, что вы хотите?)

#contact_form label.error {
  position: absolute;
  clip: rect(1px 1px 1px 1px); /* IE6 */
  clip: rect(1px, 1px, 1px, 1px);
}

, что я мог бы изменить, чтобы не иметь этого сообщения об ошибке в label - элемент формы должен иметь только одну метку, так как вас интересует лучший доступный способ сокрытия - ноизменение его на div или span не должно влиять на CSS (кроме изменения, например, label.error на span.error)


Обновление: по комментариям

Я взялjquery.validate.js и изменил строку (207) errorElement: "span", с label - тогда вышеуказанный код - #contact_form span.error - и, вероятно, ваше отрицательное позиционирование влево теперь работает, по какой-то причине IE7 поднимает span, но неlabel?

...