2014-02-10 1 views
0

이전의 웹 중심의 코드 브라우저를 이식성있게 만들기 위해 노력하고있는 기존 웹 응용 프로그램에서 작업 중이며 이해가되지 않는 문제가 발생했습니다. 여기 Javascript : 입력 필드가 정의되지 않았다고 생각합니다.

는 점에서 텍스트 "문서"에 클릭 expandMenu를 호출하고 3 매개 변수에에 avialable이다, 나는이 작품을 잘 현재의 모든 브라우저에서

<INPUT ID="H_Documents" NAME="H_Documents" TYPE=hidden VALUE="off"/> 
<TD ID="B_Documents" CLASS=menuoff NOWRAP WIDTH=11% VALIGN=CENTER onClick="if(document.readyState=='complete')expandMenu(T_Documents,B_Documents,H_Documents)" TITLE="Click to Show/Hide Documents" onmouseover="tabhiliteon(this)" onmouseout="tabhiliteoff(this)"> 
    Documents 
</TD> 

보고있어 HTML의 조각입니다 IE에서 떨어져있는 경우 이 아닌이 호환 모드에서 expandMenu를 호출하는 것을 거부하고 H_documents가 정의되지 않았다고 불평합니다.

은 누군가가 나에게 단서 :

감사를 줄 수

+1

어떤 IE 버전에 문제가 있습니까? – pstenstrm

+1

느낌이 같음 1998. – enapupe

+0

유효하지 않은 HTML입니다. – Jonathan

답변

0

ID = "H_Documents"에 존재하는 요소, 두 번째 줄에서 변수 H_Documents가 자동적으로 해당 요소에 대한 참조하지가 있지만 . IE의

document.addEventListener(....){ 
    var H_Documents = document.getElementById('H_Documents') 
} 

이전 버전 또는 addEventListener를 지원하지만, 대신에 더 많거나 적은 동일하다 document.attachEvent를 지원하지 않습니다

나는 어딘가에 코드의 구조와 같은이 있다고 생각한다. addEventListener를 사용할 수 있는지 테스트해야하거나 attachEvent로 전환해야합니다.

+0

그가 게시 한 코드 스 니펫 외부에서 변수를 정의 할 수있는 기회가 있습니까? – Jack

+0

나는 그것이 현대의 브라우저에서 작동하고 있기 때문에 그럴 것이라고 확신한다. –

+0

H_documents는 HTML 또는 JS 중 어디에도 정의되어 있지 않습니다. – scholsie

관련 문제