3

Я наткнулся на странное поведение в IE (6/7/8), которое заводит меня в орехи. Учитывая следующую разметку:IE: Недокументированный атрибут «кеш», определенный для входных элементов?

<input type="text" value="foo" class="bar" cache="yes" send="no" /> 

Обратите внимание, что атрибут cache установлен в yes. Однако IE каким-то образом удается изменить значение атрибутов до cache="cache" при рендеринге DOM.

Итак, интересно, есть ли недокументированная функция, о которой я не знаю? Я проработал около часа, но не смог найти информацию об этом (даже на MSDN).

Примечание
Я знаю, что добавление пользовательских атрибутов не является стандартным податливыми и что булевы атрибуты должны быть отмечены как attribute="attribute". Тем не менее я должен справиться с ними, поскольку они были введены задолго до того, как я присоединился к команде. Эти пользовательские атрибуты используются в сочетании с javascript, чтобы обеспечить более удобный подход к обработке формы (и это хорошо работает с Firefox/Safari/Opera/Chrome).

Я знаю, что я мог бы просто преобразовать эти пользовательские атрибуты в атрибуты x-data, которые будут введены с HTML5, но это займет у меня несколько часов дополнительной работы - вздох.

Надеюсь, я ясно дал понять. Спасибо заранее.

ответ

1

На протяжении веков было так, что логические атрибуты предпочтительно записываются как <input type="checkbox" checked="checked"/> и т. Д. Это связано с тем, что в эпоху динозавров вы должны были писать только <input type="checkbox" checked/> и присваивать то же значение, что и имя свойства, сломавшее наименьшее количество устаревших браузеров, в то же время делая разметку XML-совместимой.

+0

Как я уже писал, я знаю об этой проблеме. Дело в том, что IE не нарушит атрибут «отправить». – aefxx

+0

Если вы так говорите, я рекомендую вам перефразировать, потому что я уже дважды прочитал ваш вопрос и до сих пор не вижу, где вы это говорите. Как вы читаете значение атрибута? – erikkallen

+0

Вы правы, я не упоминал об этом явно - я отредактирую сообщение. – aefxx