2011-08-17 2 views
0

검색 폼에 Javascript 자동 완성 기능을 사용하는 클라이언트 사이트에서 작업하고 있습니다. 웹 사이트는 히브리어로되어 있지만 제발 당신을 겁 먹지 마세요. 제 문제는 영어가 아닌 코드입니다. :)
링크 : -removed by author-
자동 완성 옵션의 대부분은 히브리어로되어 있지만 영어로도 쉽게 테스트 할 수 있도록 "test"가 추가되었습니다.
기본적으로이 자동 완성 스크립트는 텍스트 입력 상자를 생성하며 사용자가 문자 (onkeyup)를 입력하면 일반적인 값 목록 (예 : '테스트')이 제공됩니다. Chrome과 IE 모두에서 정상적으로 작동하지만 Firefox가 다른 방식으로 작동하고 있습니다.
는 오류 콘솔에 따르면, 파이어 폭스에서 문자를 입력 할 때 :Javascript 자동 완성 기능이 IE 및 Chrome에서 작동하며 Firefox에서 작동하지 않습니다.

Error: searchResult1 is not defined 
Source File: 
Line: 1 

같은 두 번째 입력 필드 (소스 코드 라인 ~ 460)에 searchResult0 간다.
-removed- 자동 완성 스크립트 을 사용하면 Firefox에서이 작동하므로 실제로 그 기능이 어떻게 변경 될 수 있는지 알 수 없습니다.

이 문제는 onkeyup="searchResult1.style.visibility='visible';..."입니다이 :

답변

2

어떤 도움을 주셔서 감사합니다, 그것은 document.getElementById('searchResult1').style.visibility해야한다 - 당신이 ID로 요소를 참조한다. ID가있는 요소가 "전역 변수"로 바뀌는 오래된 MSIE 기능이지만 실제로 사용해야하는 것은 아닙니다. 다른 브라우저는 MSIE와의 호환성을 유지하기 위해이 잘못된 기능 ("전역 범위 오염")에 대한 지원을 구현했지만 단순한 호환성 레이어 일 뿐이며 특정 조건 하에서 만 작동합니다.

+0

: 난 당신이

자동 완성 데모 jquery1.5.2있는 코드를 참조하십시오. 스크립트는 실제로 내 것이 아니며, 전에 사이트에서 작업 한 사람이 구현했으며 정말 엉망으로 만들었습니다. 나는 모든 현재 스크립트를 작업의 일부로 유지해야했으며이 스크립트에는이 자동 완성 스크립트가 포함되어있었습니다. 이 특정 스크립트를 버리는 것에 대한 팁을 고맙게 생각합니다. 그러나 제가 언급했듯이 저는 고객의 소망 때문에이 특별한 경우에이를 지켜야 할 것입니다. 어쨌든 - 덕분에 다시 제 정신이 나게되었습니다. –

0

직접 작성하지 말고 jquery autocomplete 플러그인을 사용해 보시지 않겠습니까? 작성된 자바 스크립트가 적합하지 않습니다.

jquery 자동 완성 플러그인을 사용하는 것이 가장 좋습니다. 내가 당신에게 무릎을 꿇을 - http://view.jquery.com/trunk/plugins/autocomplete/demo/

다운로드 및 문서 방금 ​​내 엉덩이를 저장 http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/

+0

고객이 모든 원본 스크립트를 유지하도록 요청했습니다.이 스크립트는 혼자 작성된 것이 아니므로 "외부"스크립트를 사용할 수 없습니다.하지만 앞으로 고려할 것입니다. 고맙습니다! –

관련 문제