关于document.all.item遇到IE8时无法正常取到数据

最近发现项目中遇到这样一个情况,以前系统在IE6下是好的,但是在IE8下有些输入框就出现数据拿不到等情况,后来发现在IE8下有很多表达式都是不能用的,包括现在说到的documen.all.item()拿到的对象总是为空,经过仔细收集资料发现原来这个doctype有关

当你点击按钮,文本框会赋值吗?
如果你用IE6,我可以肯定的告诉你,会...
但是你如果用IE8打开,肯定是不会的...
不信可以试试。
有两个解决办法,一个是在doctype前加一句<!-- --->
另一个就是将doctype注释起来或去掉。这两个方法取得的效果是一样的,为什么呢?
在doctype前加注释语句块,可以将doctype的功能取缔,因为doctype必须位于html的第一行,放在第二行就失去了意义,第二个方法就不用说了。
如果你也有同样的问题,你可以检查一下你的jsp,很可能你在jsp中doctype不是写在第一行,但是你查看源文件,很可能doctype就在第一行出现,所以咱们以后编写html就要注意了。
为什么加了doctype就不支持了呢,首先document.all.item本身就不是w3c推出的标准,只是一个微软搞得一套东东,现在微软想在IE8中不维护这个了,所以就搞得现在不支持了。
所以咱们以后写程序一定要用w3c的标准,用document.getElementsByName()[0]代替它
。相信这个不会不支持的。

时间: 2024-11-13 10:00:35

关于document.all.item遇到IE8时无法正常取到数据的相关文章

Bootstrap浏览器支持下载页面 判断当前IE浏览器小于等于IE8时页面自动跳转到浏览器支持下载页面

Bootstrap浏览器支持下载HTML页面 : <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta chars

How to determine sales Document item Category in sales order document Line item

How to determine sales Document item Category in sales order document Line item  ? Make new entries for the appropriate document type and usage indicator for the outcome that you have specified. To assign categories, perform the Customizing activity

vue使用ECharts时的异步更新与数据加载

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px "Helvetica Neue"; color: #404040 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 13.0px "Helvetica Neue"; color: #737373 } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Monaco

ssh下:系统初始化实现ServletContextListener接口时,获取spring中数据层对象无效的问题

想要实现的功能:SSH环境下,数据层都交由Spring管理:在服务启动时,将数据库中的一些数据加载到ServletContext中缓存起来. 系统初始化类需要实现两个接口: ServletContextListener,系统初始化时调用contextInitialized方法缓存数据: ApplicationContextAware,获取Spring的ApplicationContext对象,以获取spring容器管理的service对象. 系统初始化类如下: 1 package com.liz

原因是因为当OnCreate函数发生时,只是提供了数据初始化的机会

在Android中,有时需要对控件进行测量,得到的控件宽度和高度可以用来做一些计算.在需要自适应屏幕的情况下,这种计算就显得特别重要.另一方便,由于需求的原因,希望一进入界面后,就能得到控件的宽度和高度. 可惜的是,根据我的验证,利用网上转载的那些方法在OnCreate函数中获取到的仍然是0(希望搞技术的能自己验证过再转载),例如Measure方法之后调用getMeasuredWidth的值还是0. 原因是因为当OnCreate函数发生时,只是提供了数据初始化的机会,此时还没有正式绘制图形.而绘

使用InternetReadFile时要注意读取完整数据

使用这个api读取数据后,即使数据不完整,该函数不会报任何错,GetLastError也显示操作成功.使用时要注意通过其参数判断是否读取完毕 void InternetReadFileEx(HINTERNET request, std::string& data) { DWORD readed = 0; char buffer[1025]; do { ZeroMemory(buffer, 1025); InternetReadFile(request, buffer, 1024, &rea

IIS崩溃时自动抓取Dump

背景:在客户现场,IIS有时会崩溃,开发环境没法重现这个bug,唯有抓取IIS的崩溃是的Dump文件分析. IIS崩溃时自动抓取Dump,需要满足下面几个条件 1.启动 Windows Error Reporting Service 服务 2.移除默认的调试器 如果你的机器装了VS开发工具,会在注册表里写入调试器地址,需要把它删除. 找到注册表删除以下2个项目HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDeb

WP8_当滚动到滚动条的70%时,自动加载数据效果实现

Touch.FrameReported += Touch_FrameReported;   void Touch_FrameReported(object sender, TouchFrameEventArgs e) { // 传入null表明获取到的触控点信息是以屏幕左上角为原点的. var primaryPoint = e.GetPrimaryTouchPoint(null);   if (primaryPoint != null && primaryPoint.Action == T

聊天列表在reloadData时无法成功加载数据

在项目开发的过程中遇到这样一个问题,iPhone6上聊天列表在reloadData时无法成功加载数据,但是只要手指滑动UITableView即可成功加载. 期初被该问题给困惑住了,始终没搞明白是啥问题,后在网上查询资料终找到问题之所在并解决该问题.现将问题的分析及解决方案贴出来: 1.在子线程中无法进行UI的更新,如果表象更新成功那只是一个幻象.因为在子线程中,代码执行完毕后会自动进入主线程,从而执行子线程中UI更新的函数,这个过程是非常快速的,导致大家误以为子线程可以更新UI.如果子线程一直在