>  기사  >  웹 프론트엔드  >  JS 코드는 ie8에서 document.getElementById(...)가 비어 있거나 객체가 아니라는 오류를 보고합니다.

JS 코드는 ie8에서 document.getElementById(...)가 비어 있거나 객체가 아니라는 오류를 보고합니다.

PHP中文网
PHP中文网원래의
2016-05-16 18:40:581701검색

다음 코드에서 볼 수 있듯이 IE8은 문서 유형 선언에 더 엄격합니다.

<input type=&#39;text&#39; name=&#39;os&#39; value=&#39;Windows平台&#39; style=&#39;width:100px&#39; /> 
<script type="text/javascript"> 
                function osdo(str){ 
                document.getElementById("os").value=str; 
                } 
                </script> 
<input name="ostmp" type="radio" value="" onclick="osdo(&#39;&#39;)" />清空 
<input name="ostmp" type="radio" value="Windows平台" onclick="osdo(&#39;Windows平台&#39;)" /> 
Windows平台 <input name="ostmp" type="radio" value="" onclick="osdo(&#39;S60v2&#39;)" />S60v2 
<input name="ostmp" type="radio" value="" onclick="osdo(&#39;S60v3&#39;)" />S60v3 
<input name="ostmp" type="radio" value="" onclick="osdo(&#39;CHM&#39;)" />CHM 
<input name="ostmp" type="radio" value="" onclick="osdo(&#39;PDF&#39;)" />PDF 
<input name="ostmp" type="radio" value="" onclick="osdo(&#39;PPT&#39;)" />PPT 
<input name="ostmp" type="radio" value="" onclick="osdo(&#39;DOC&#39;)" />WORD 
<input name="ostmp" type="radio" value="" onclick="osdo(&#39;EXCEL&#39;)" />EXCEL
 
<input name="ostmp" type="radio" value="" onclick="osdo(&#39;asp&#39;)" />asp 
<input name="ostmp" type="radio" value="" onclick="osdo(&#39;asp+access&#39;)" />asp+access 
<input name="ostmp" type="radio" value="" onclick="osdo(&#39;asp+sqlserver&#39;)" />asp+sqlserver 
<input name="ostmp" type="radio" value="" onclick="osdo(&#39;asp+sql/access&#39;)" /> 
asp+sql/access <strong>php源码</strong> 
<input name="ostmp" type="radio" value="" onclick="osdo(&#39;php&#39;)" />php 
<input name="ostmp" type="radio" value="" onclick="osdo(&#39;php+mysql&#39;)" /> 
php+mysql<input name="ostmp" type="radio" value="" onclick="osdo(&#39;jsp&#39;)" />jsp <strong>asp.net源码</strong> 
<input name="ostmp" type="radio" value="" onclick="osdo(&#39;asp.net&#39;)" />asp.net 
<input name="ostmp" type="radio" value="" onclick="osdo(&#39;asp.net+access&#39;)" />asp.net+access 
<input name="ostmp" type="radio" value="" onclick="osdo(&#39;asp.net+sql&#39;)" />asp.net+sql 
<input name="ostmp" type="radio" value="" onclick="osdo(&#39;asp.net+sql/access&#39;)" />asp.net+sql/access

이 코드는 ie7과 ie8 모두에서 실행 가능한 것을 확인할 수 있습니다.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

코드에 선언 문서를 추가하고 위의 문서 유형 선언을 추가합니다.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
运行环境: 
 

 
清空 
 
Windows平台 S60v2 
S60v3 
CHM 
PDF 
PPT 
WORD 
EXCEL
 
asp 
asp+access 
asp+sqlserver 
 
asp+sql/access php源码 
php 
 
php+mysqljsp asp.net源码 
asp.net 
asp.net+access 
asp.net+sql 
asp.net+sql/access

document.getElementById(...) 프롬프트가 비어 있거나 객체가 아닐 때 해결책을 찾을 수 있습니다
페이지에 문서 선언이 있는 경우 div CSS 레이아웃을 사용할 때 문서가 선언되지 않았습니다. 페이지의 일부가 다릅니다.
헤드에 다음 코드를 추가하시면 됩니다

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />

전체 코드

<!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" /> 
运行环境: 
 

 
清空 
 
Windows平台 S60v2 
S60v3 
CHM 
PDF 
PPT 
WORD 
EXCEL
 
asp 
asp+access 
asp+sqlserver 
 
asp+sql/access php源码 
php 
 
php+mysqljsp asp.net源码 
asp.net 
asp.net+access 
asp.net+sql 
asp.net+sql/access


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.