2011-08-14 5 views
3

웹 사이트를 디자인 중입니다. 검색 창에 다음 코드를 사용하고 있습니다.텍스트 상자에 텍스트 자동 완성 [이미지 첨부]

<form method="get" action="search.php"> 
    <input type="text" id="search" name="search" onKeyUp="showSuggestions();"> 
    <input type="submit" id="submitsearch" value="Search"> 
</form>  

사용자가 입력 한 검색 문자열에 대해서는 제안 사항을 게재하고 있습니다. 내 문제는 내 웹 브라우저가 이전에 입력 한 검색 문자열 (아래 이미지)의 제안을 표시하는 것입니다. Firefox 제안이 포 그라운드에 있고 내 검색 제안이 배경에 있음을 알 수 있습니다.

내 질문 : 텍스트 상자에 기록을 저장하지 못하도록하는 코드가 있습니까? 또는이 문제를 해결하기 위해 할 수있는 일이 있습니까?

sample image

답변

3

할 수 있습니다 prevent the default 조치 :

function onKeyDown(e) { 
    e.preventDefault(); 
    var code; 
    if (e.keyCode) code = e.keyCode; 
    else if (e.which) code = e.which; 
    var character = String.fromCharCode(code); 
    e.target.value += character; 
    return false; 
} 

당신은이 이벤트에 대한 작업을 처리하려고하는 브라우저를 말하고있다.

EDIT : 키 누름을 처리하는 이벤트이므로 기본 동작을 방지하기 때문에 입력 한 키를 직접 입력해야합니다.

+0

내 HTML은 무엇입니까? onKeyDown = "onKeyDown (이벤트);" "아무것도 입력하지 못하게합니다. –

+0

예, 좋은 지적입니다. 미안해. – Joe

+0

Joey에게 도움을 주셔서 감사합니다. 하지만 IE와 다른 브라우저에서도 고려해야 할 필요가 있다고 생각합니다. :) –

3

비슷한 기능을 가진 웹 사이트의 소스 코드를 보았습니다. 그것은 다음을 사용했습니다 :

<input type="text" id="search" name="search" autocomplete="off"> 

그것은 나를 위해 일했습니다!

관련 문제