Я пробовал в течение нескольких дней, чтобы заставить это работать в IE, и в конечном итоге отказался, представив пользователю окно предупреждения, предупреждающее пользователей о том, что форма не полностью работать в IE. Тем не менее, люди все еще используют IE, чтобы заполнить форму, и мне нужно отправлять по электронной почте туда и обратно, чтобы закончить их регистрацию, поэтому я хотел бы узнать, смогу ли я исправить исходную проблему. У меня есть длинная форма регистрации для события здесь:Как скрыть и показать Javascript и CSS с помощью флажка в Internet Explorer
http://rhythmshuffle.com/RS2013/Register.html
я решил обработать длину формы, выявляя элементы формы, когда пользователь щелкает различные флажки, например, сечение корпуса в самом низу формы. Вот JavaScript:
function togglehide(thiselem) {
var item = document.getElementById(thiselem);
if (item) {if (item.className == 'unhidden') {item.className='hidden';} else {item.className='unhidden';}}
}
вот соответствующий CSS:
.hidden {display: none; overflow: hidden; border: none; text-decoration: none; background: transparent;}
.unhidden {display: block; overflow: auto; border: none; text-decoration: none; background: transparent;}
и вот пример HTML:
<input type="checkbox" name="housing" value="yes" onClick="javascript:togglehide('housingrequest')"/>
<div id=housingrequest class=hidden>
whatever - more form elems...
</div>
Кто-нибудь знает, как сделать эту работу в IE? Я искал Stack Overflow некоторое время назад, когда я изначально работал над этим. Я пробовал ряд предложений, которые отвечали на похожие, но немного разные проблемы, но никто из них не работал для меня (я бы сказал, что я пробовал, но не могу вспомнить сейчас).
Спасибо, Роб
UPDATE: Я подтвердил себя, что код работает в IE 9 & 10 (несмотря на то, что другие тестеры были мне сказать). Поэтому этот вопрос специально для IE 8 и ниже. По-видимому, некоторые из моих пользователей по-прежнему используют устаревшие версии IE. Фактически, один из них предпочитал распечатывать снимки экрана, которые я отправил ей, чтобы отправить мне регистрацию, а не устанавливать какой-либо другой современный браузер! вздох
Так что же происходит в IE при нажатии на флажок? – Pointy
Вам не нужен префикс 'javascript:' в атрибуте _onclick_. –
Вам не нужен 'else', так как это просто задает имя класса для того, что оно уже есть. – Joe