【问题标题】:Textarea isn't rendering in IE7Textarea 不在 IE7 中呈现
【发布时间】:2010-09-28 13:39:50
【问题描述】:

由于某种原因,我的文本区域没有在 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";
 }
}

关于如何完成这项工作的任何想法?

谢谢, 乔什

【问题讨论】:

  • ...在这种情况下完全没有必要。
  • ..... true ;) 这只是需要输入更多的工作,程序员并不懒惰,他们喜欢尽可能高效地工作。

标签: javascript forms internet-explorer-7 rendering textarea


【解决方案1】:

可能是可见性和显示,或者也许你的位置是问题?在阅读了几次之后,我没有发现代码中有任何问题。当我想切换元素时,我只使用 display 属性,这对我来说很好,在 IE 中也是如此。

【讨论】:

    【解决方案2】:

    问题似乎是由于设置了div.style.position,尽管我不确定为什么会这样。从concern1Text 中删除position 样式并删除相关的js 赋值语句似乎可以解决问题。

    只要我们在修复问题,您方法的前两行不应该使用eval。它们可以写成

    box = document.getElementById(checkBox); 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多