JavaScript code in IE8 error document.getElementById (...) is empty or not an object solution [original]_javascript Tips

Source: Internet
Author: User
Tags dio
In IE8, declaring a document type is more strictly like the following code.
Operating environment: <input type= ' text ' name= ' os ' value= ' Windows platforms '/> <script type= ' text/javascript ' > function Osdo (str) {document.getElementById ("OS"). Value=str; } </script> <input name= "ostmp" type= "Radio" value= "onclick=" osdo (")"/> Empty <input nam E= "Ostmp" type= "Radio" value= "Windows platform onclick=" OSDO (' Windows platform ') "/> Windows platform <input name=" ostmp "type=" Radio "value=" "onclick=" osdo (' s60v2 ') "/>s60v2 <input name=" ostmp "type=" Radio "value=" "onclick=" osdo (' S60v3 ') "/>s60v3 <input name=" ostmp "type=" Radio "value=" "onclick=" (' CHM ') "Osdo/>chm <input" name= "Ostmp" Ra Dio "value=" "onclick=" osdo (' PDF ') "/>pdf <input name=" ostmp "type=" Radio "value=" "onclick=" osdo (' PPT ') "/>" PPT <input name= "ostmp" type= "Radio" value= "onclick=" osdo (' DOC ') "/>word <input name=" ostmp "type=" Radio "Val Ue= "" onclick= "osdo (' EXCEL ')"/>excel <input name= "Ostmp" Type= "Radio" value= "onclick=" osdo (' asp ') "/>asp <input name=" ostmp "type=" Radio "value=" "onclick=" osdo (' asp+ Access ') "/>asp+access <input name=" ostmp "type=" Radio "value=" "onclick=" osdo (' Asp+sqlserver ')/>asp+ SQL Server <input name= "ostmp" type= "Radio" value= "onclick=" osdo (' asp+sql/access ') "/> Asp+sql/access < strong>php source </strong> <input name= "ostmp" type= "Radio" value= "onclick=" osdo (' php ')/>php Name= "Ostmp" type= "Radio" value= "onclick=" osdo (' php+mysql ') "/> Php+mysql<input" name= "ostmp" type= " Value= "" onclick= "osdo (' jsp ')"/>jsp <strong>asp.net source </strong> <input name= "ostmp" type= "Radio" Value= "onclick=" osdo (' asp.net ') "/>asp.net <input name=" ostmp "type=" Radio "value=" "onclick=" osdo (' asp.net+ Access ') "/>asp.net+access <input name=" ostmp "type=" Radio "value=" "onclick=" osdo (' Asp.net+sql ')/>asp.net +sql <input name= "ostmp" type= "Radio" value= "onclick=" osdo (' asP.net+sql/access ') "/>asp.net+sql/access
[Ctrl + A All SELECT Note: If the need to introduce external JS need to refresh to perform]

You can see that this code can be run in both IE7 and IE8, and the following code we add to the Declaration document
Copy Code code as follows:

<! DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 transitional//en" "Http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">

Added the document type declaration above.
<! DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 transitional//en" "Http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd "> Operating Environment: <input type= ' text ' name= ' os ' value= ' Windows platform '/> <script" type= "> function Osdo (str) {document.getElementById ("OS"). Value=str; } </script> <input name= "ostmp" type= "Radio" value= "onclick=" osdo (")"/> Empty <input nam E= "Ostmp" type= "Radio" value= "Windows platform onclick=" OSDO (' Windows platform ') "/> Windows platform <input name=" ostmp "type=" Radio "value=" "onclick=" osdo (' s60v2 ') "/>s60v2 <input name=" ostmp "type=" Radio "value=" "onclick=" osdo (' S60v3 ') "/>s60v3 <input name=" ostmp "type=" Radio "value=" "onclick=" (' CHM ') "Osdo/>chm <input" name= "Ostmp" Ra Dio "value=" "onclick=" osdo (' PDF ') "/>pdf <input name=" ostmp "type=" Radio "value=" "onclick=" osdo (' PPT ') "/>" PPT <input name= "ostmp" type= "Radio" value= "" onclick="Osdo (' DOC ')"/>word <input name= "ostmp" type= "Radio" value= "onclick=" osdo (' EXCEL ') "/>excel <input "Ostmp" type= "Radio" value= "onclick=" osdo (' asp ') "/>asp <input name=" ostmp "type=" Radio "value=" "onclick=" osdo (' asp+access ') "/>asp+access <input name=" ostmp "type=" Radio "value=" "onclick=" osdo (' Asp+sqlserver ')/>asp +sqlserver <input name= "ostmp" type= "Radio" value= "" onclick= "osdo (' asp+sql/access ')"/> Asp+sql/access < strong>php source </strong> <input name= "ostmp" type= "Radio" value= "onclick=" osdo (' php ')/>php Name= "Ostmp" type= "Radio" value= "onclick=" osdo (' php+mysql ') "/> Php+mysql<input" name= "ostmp" type= " Value= "" onclick= "osdo (' jsp ')"/>jsp <strong>asp.net source </strong> <input name= "ostmp" type= "Radio" Value= "onclick=" osdo (' asp.net ') "/>asp.net <input name=" ostmp "type=" Radio "value=" "onclick=" osdo (' asp.net+ Access ') '/>asp.net+access <input name= ' ostmp ' TypE= "Radio" value= "onclick=" osdo (' Asp.net+sql ') "/>asp.net+sql <input name=" ostmp "type=" Radio "value=" "onclick = "OSDO (' asp.net+sql/access ')"/>asp.net+sql/access
[Ctrl + A All SELECT Note: If the need to introduce external JS need to refresh to perform]

Discovery prompts document.getElementById (...) as null or not an object solution
If the page has a document declaration, because the div+css layout, the sound does not declare the document, some parts of the page are not the same.
You can add the following code to the head
Copy Code code as follows:

<meta http-equiv= "x-ua-compatible" content= "Ie=emulateie7"/>

The complete code
<! DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 transitional//en" "Http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd "> <meta http-equiv=" x-ua-compatible "content=" ie=emulateie7 "/> Operating Environment: <input type= ' text ' name= ' OS ' value= ' Windows platform '/> <script type= ' text/javascript ' > function osdo (str) {document. getElementById ("OS"). Value=str; } </script> <input name= "ostmp" type= "Radio" value= "onclick=" osdo (")"/> Empty <input nam E= "Ostmp" type= "Radio" value= "Windows platform onclick=" OSDO (' Windows platform ') "/> Windows platform <input name=" ostmp "type=" Radio "value=" "onclick=" osdo (' s60v2 ') "/>s60v2 <input name=" ostmp "type=" Radio "value=" "onclick=" osdo (' S60v3 ') "/>s60v3 <input name=" ostmp "type=" Radio "value=" "onclick=" (' CHM ') "Osdo/>chm <input" name= "Ostmp" Ra Dio "value=" "onclick=" osdo (' PDF ') "/>pdf <input the Name=" ostmp "type=" Radio "value=" "onclick=" osdo ('PPT ') "/>ppt <input name=" ostmp "type=" Radio "value=" "onclick=" osdo (' DOC ') "/>word <input" name= "type = "Radio" value= "onclick=" osdo (' EXCEL ') "/>excel <input name=" ostmp "type=" Radio "value=" "onclick=" osdo (' ASP ') "/>asp <input name=" ostmp "type=" Radio "value=" "onclick=" osdo (' asp+access ') "/>asp+access <input name=" os TMP "type=" Radio "value=" "onclick=" osdo (' Asp+sqlserver ') "/>asp+sqlserver <input name=" ostmp "type=" Radio " Value= "" onclick= "osdo (' asp+sql/access ')"/> asp+sql/access source </strong> <strong>php <input " Ostmp "type=" Radio "value=" "onclick=" osdo (' php ') "/>php <input name=" ostmp "type=" Radio "value=" "onclick=" OSDO ( ' Php+mysql ') "/> php+mysql<input name=" ostmp "type=" Radio "value=" "onclick=" osdo (' jsp ') "/>jsp <strong >asp.net source </strong> <input name= "ostmp" type= "Radio" value= "" onclick= "osdo (' asp.net ')"/>asp.net < Input name= "ostmp" type= "Radio" value= "" onclick= "OSDO (' asp.net+access ') "/>asp.net+access <input name=" ostmp "type=" Radio "value=" "onclick=" osdo (' Asp.net+sql ') "/>asp.net+sql <input name=" ostmp "type=" Radio "value=" "onclick=" osdo (' asp.net+sql/access ')/>asp.net+sql /access
[Ctrl + A All SELECT Note: If the need to introduce external JS need to refresh to perform]
Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.