最近在项目中遇到一个问题,特将问题记录,以便以后查看。问题:在页面中放置一个asp.net Label控件,然后给控件赋值,值为:"<inputid='text1'type='text'/>",然后在此文本框中输入值,在前台js中获取这个Label的innerHTML时取不到input的value属性页面代码  可以看到的是取出来的innerHTML并不包含valu

最近在项目中遇到一个问题,特将问题记录,以便以后查看。

问题:在页面中放置一个asp.net  Label控件,然后给控件赋值,值为:"<input id='text1' type='text' />",然后在此文本框中输入值,在前台js中获取这个Label的innerHTML时取不到input的value属性

IE9文档模式与HTML解析(浏览器文档模式如何默认ie9)  IE9文档模式与HTML解析 第1张页面代码

 IE9文档模式与HTML解析 IE9文档模式与HTML解析(浏览器文档模式如何默认ie9)  第2张

 

可以看到的是取出来的innerHTML并不包含 value属性,当然也就没有'fdafds' 的值了

 这个问题找了很久 后来发现原因是因为:IE9的文档模式

 IE9文档模式与HTML解析 IE9文档模式与HTML解析(浏览器文档模式如何默认ie9)  第3张

 然后将文档模式改为:非IE9标准模式后:IE9文档模式与HTML解析 IE9文档模式与HTML解析(浏览器文档模式如何默认ie9)  第4张

 

 这样就能正常的取到value属性了。

 

ps:其实这个是我在做类似OA的自定义表单的时候遇到的,自定义表单保存的是表单的HTML,在使用的时候就需要将表单的HTML先放置到页面中,用户修改完成后再保存HTML,但是一直没有遇到过这个问题。。。希望如果有人也遇到同样的问题可以帮助他找到原因,也请园子里的各位大大帮我解释下IE9的文档模式。 Thanks. 

 

转载请说明出处
知优网 » IE9文档模式与HTML解析(浏览器文档模式如何默认ie9)

发表评论

您需要后才能发表评论