JavaScript在IE下设置innerHTML时出现"未知的运行时错误"
来源:互联网 发布:人工智能取代人类工作 编辑:程序博客网 时间:2024/05/16 07:36
今天在项目开发中遇到的比较郁闷的问题,特此记录:
程序代码思路大致如下,想动态的改变tr标签的innerHTML内容,但是IE却报"未知的运行时错误",让我百思不得其解.
<script>
document.getElementById('trone').innerHTML = '<td>haha</td>';
</script>
<tr id=‘trone’></tr>
在网上一段查找获得以下解法:
在Ajax里经常会通过innerHTML来改变界面,这个比使用DOM要简单一些。
比如:
element.innerHTML = "<b>something</b>"
不过,在IE中,有时候会出现"未知的运行时错误(unknown runtime error)",而在firefox里不会。
这主要是IE在对innerHTML进行写操作的时候会检查element是否具备做为这些内容中html对象容器的要求,比如如果你是在一个p里加入包含<li>的html代码,这是会出错的。所以如果你发现这些错误出现,尝试做两件事情:
1、检查你尝试加到innerHTML的html代码是否包含破损的html标签,如没有<ul></ul>包围的<li></li>.
2、把你的容器改成那些比较“包容”的标签,如<span></span>,<div></div>
特别注意的是<tbody>,<table>,<tr>标签里面加正确格式的<td>标签都有可能出错,所以应该避免使用这些标签作为容器,必要时可以用<td>作为容器,再锲套一层表格。
--------------------------------------------------------------------------------------------
IE中使用JavaScript中调用form.submit()提示“对象不支持此属性和方法”问题研究
----------------------------------------------------------------------------------------------
首先我们看看以下代码,页面的功能和逻辑很简单。
这段代码从逻辑上看没有任何错误和BUG,理论上是可以完全执行的。
<html>
<head>IE 测试</head>
<body>
<script language="javascript">
function dosubmit()
{
var theform = document.getElementById('theform');
theform.submit();
}
</script>
<form method="post" id="theform">
<table width="800">
<tr>
<td><input type="text" value="测试"></td>
</tr>
<tr>
<td><input type="button" name="submit" value="提交" onclick="dosubmit()"></td>
</tr>
</table>
</form>
</body>
</html>
如果用Firefox查看这个页面并点击提交按钮,表单会正常提交,但是我们换到IE下面,IE却会提示“对象不支持此属性和方法“ 而停止提交的操作。
这是怎么回事呢?经过我多方的查找资料,发现是提交按钮的name="submit"的属性在捣乱。
此时我们将theform.submit();注释掉,新起一行输入alert(theform.submit.value);刷新页面后再次点击提交,弹出的窗口上会显示”提交“两个字,神奇了!theform.submit居然是提交按钮而不是theform的方法了!
为什么会出现这个问题呢,因为在IE下可以通过 表单.表单元素名称 这样的方式获得一个表单下的所有表单元素,但是巧就巧在这里,如果某个表单元素的名称和表单的方法名重名的话那么IE就会优先将名称解析为某个表单元素,而不是表单的方法,此时就会出现这个神奇的问题了。
- JavaScript在IE下设置innerHTML时出现"未知的运行时错误"
- JavaScript在IE下设置innerHTML时出现"未知的运行时错误"
- JavaScript在IE下设置innerHTML时出现"未知的运行时错误"
- JavaScript在IE下设置innerHTML时出现"未知的运行时错误"
- javascript innerHTML出现未知运行时错误
- 设置innerHTML时出现"未知的运行时错误
- JavaScript设置innerHTML时出现“未知的运行时错误”--我也遇上了
- JavaScript设置innerHTML时出现“未知的运行时错误”--我也遇上了
- IE使用innerHTML出现未知的运行时错误的原因
- IE使用innerHTML出现未知的运行时错误的原因
- innerHTML属性导致未知的运行时错误ie bug
- js的innerHTML及jquery的html() 在ie下不兼容“未知运行时错误” 的解决方案
- javascript 中innerHTML函数导致“ 未知的运行时错误”
- innerHTML 引发“未知的运行时错误”
- innerHTML报“未知运行时错误”的解决方法
- innerHTML引起未知的运行时异常
- IE8 未知的运行时错误(ueditor编辑器在ie8、ie7下出现JS错误的解决方法)
- 解决在IE tbody中使用innerHTML报运行时错误问题
- 在入口函数Hook的分析
- Symbian 基础总结 --类类型
- WeifenLuo.WinFormsUI.Docking学习
- C# winform中ListView用法
- mysql 4.0迁移到5.0总结(二)程序的修改
- JavaScript在IE下设置innerHTML时出现"未知的运行时错误"
- “闪电计划”升级完毕 一呼百应继续领跑B2B搜索
- 生命的思索
- Symbian 基础总结 --Symbian C++中的异常处理
- 2009年的圆月 我新生活的开始
- Delphi启动或者停止windows服务的函数
- Insert Video Plus for Windows Live Writer
- 格式化任意的时间格式
- 有刷QQ会员和7砖的软件?