Textarea не рендерится в IE7 - PullRequest
       22

Textarea не рендерится в IE7

0 голосов
/ 28 сентября 2010

По некоторым причинам мои текстовые области не отображаются в IE7.Я использую флажки в форме, и когда они щелкают, она вызывает функцию javascript, которая открывает соответствующую текстовую область.Он отлично работает в любом другом основном браузере, но не в IE7.

Вот пример кода, который я использую.

HTML:

<input name="areasOfConcern1" type="checkbox" id="concern1" value="Frequently misses classes" onClick="checkedTest('concern1', 'concern1Text')" onblur="checkedTest('concern1', 'concern1Text')" />
 Attendance
 <div id="concern1Text" style="visibility:hidden;position:absolute;display:none;">
 <textarea  onfocus="removeText(this)" onblur="addText(this)" cols="90" name="areasOfConcern1Text" id="areasOfConcern1Text">Comments...</textarea>
</div>

Функция JS:

function checkedTest(checkBox, divId)
{
 box = eval("document.getElementById(checkBox)");
 div = eval("document.getElementById(divId)");
 if(box.checked == true)
 {
  div.style.visibility="visible";
  div.style.display="block";
  div.style.position="relative";
 }
 else
 {
  div.style.visibility="hidden";
  div.style.display="none";
  div.style.position="absolute";
 }
}

Любойидеи о том, как сделать эту работу?

Спасибо, Джош

Ответы [ 2 ]

1 голос
/ 28 сентября 2010

проблема, кажется, связана с установкой div.style.position, хотя я не уверен, почему это так.Удаление стиля position из concern1Text и удаление связанных js-состояний statemnts, кажется, решают проблему.

и до тех пор, пока мы исправляем вещи, первые 2 строки вашего метода не должны использоватьeval.они могут быть записаны в виде

box = document.getElementById(checkBox); 
1 голос
/ 28 сентября 2010

Может быть, это видимость и отображение, или, возможно, ваша позиция - это проблема?Я не вижу никаких проблем в коде после прочтения несколько раз.Когда я хочу переключать элементы, я использую только атрибут display, и это прекрасно работает и в IE.

...