【问题标题】:Javascript problems with IE, and Prototype 1.6.0.3IE 和 Prototype 1.6.0.3 的 Javascript 问题
【发布时间】:2010-11-04 18:09:32
【问题描述】:

下面的代码在 Firefox 上运行得非常好,但是,我在 IE 8... 和 7... 上遇到问题,而不是使用从我的 php 脚本返回的选项填充选择(就像在 FireFox 中那样)在 IE 中什么也不做。

我已将问题缩小到 $('city').innerHTML -- 适用于 Firefox 而不是 IE。

有什么想法吗?

这是在我的标题中:

<script type='text/javascript' src='js/prototype-1.6.0.3.js'></script>
<script type='text/javascript' src='js/scriptaculous.js'></script>

HTML 代码(位于正文中)

--snip--
<select id="city">
</select>
--snip--

从 Prov/State onChange 触发的 JavaScript(适用于 IE 和 FF)

--snip--
$('city').innerHTML = "<option value='test'> This is a test";
--snip--

【问题讨论】:

  • 等等 - 它在 IE 中是否有效?
  • 已编辑,对这种混乱感到抱歉
  • 您确定 onChange 在 IE 中有效吗?
  • 只是 $('city').innerHTML 不起作用,或者 $('city') 也不起作用?
  • $('city').innerHTML = "anything" - 适用于 Firefox,而不是 IE。我应该为 IE 使用什么调试器?

标签: javascript html internet-explorer firefox prototypejs


【解决方案1】:

看起来这是 known bug:still hasn't been resolved

您无法在 ie 中可靠地设置选择元素的 innerHTML。

解决方法包括设置整个 select 元素的 innerHTML(通过设置父元素的 innerHTML),或创建和附加单个选项元素。

【讨论】:

  • 添加了 标签,两种情况都没有区别。
  • 废话,用单引号还是双引号没区别,选项标签也不必封闭。
  • Yepppppper...我只是将它包装在一个 DIV 中,然后返回一个完整的 ...现在可以使用...我讨厌 IE...跨度>
【解决方案2】:

改用 update() 怎么样?

$('city').update("<option value='test'>This is a test</option>");

【讨论】:

  • 是的,因此存在更新。 $('city').insert({bottom: ''}) 如果我记得的话。
猜你喜欢
  • 1970-01-01
  • 2014-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多