2010-05-29 3 views
5

그래서 firefox는 페이지가 다시로드되거나 뒤로 버튼이 사용될 때 필드의 값을 자동 완성하려고하는 멋진 메커니즘을 가지고 있습니다. 어느 것이 값으로 설정 될 때 ajax를 사용하여 페이지를 수정하는 드롭 다운과 같은 것을 가지고있을 때를 제외하고 모두 훌륭합니다.변경 이벤트없이 firefox의 폼 자동 완료를 비활성화하는 방법은 무엇입니까?

브라우저가 페이지를 다시로드하고 드롭 다운이 기억 된 값으로 미리 채워지고 dom이 준비되면 변경 이벤트가 발생하지 않습니다. 따라서 첨부 된 변경 핸들러가 실행되지 않으므로 페이지가 업데이트되지 않습니다.

는 사용자에 대해 작동하도록 예상대로이 문제를 "해결"할 수있는 좋은 방법이 있나요 : 좋은 사용자 경험 때문에

가) 우리는 자동 완성에 브라우저를 원하는가가.

b) 여전히 onchange 이벤트 실행을 원합니다.

내가 할 수있는 유일한 생각은 문서에서 자바 스크립트가 미리 채워져있는 문서에 준비 완료 이벤트를 추가하는 것입니다. 채워진 값과 일치하지 않으면 입력 내용이 변경 핸들러를 트리거합니다.

누구나 더 나은 해결책이 있습니까? 이미 이것을하는 lib가 있습니까? (레일 2.3.5 + jQuery를 사용하여)

답변

1

불행히도 실제로 페이지를 다시로드하거나 뒤로 가기 버튼을 사용할 때 실제로 자동 채우기 필드에서 firefox를 비활성화 할 수있는 방법이없는 것으로 보입니다. 다행히도 값은 이미 $(document).ready() 이벤트 중에 이미 있으므로 입력에있는 모든 항목이 초기에 해고 될 수있는 한 그 값이 어디서 왔는지에 관계없이 문제가되지 않습니다.

0

나는 당신이 그 필드를 미리 입력에서 브라우저를 방지하기 위해 autocomplete="off"를 추가 할 수 있다고 생각합니다.

onload을 실행하는 함수를 사용할 수도 있으며 기본적으로 필드 값이 value="" 매개 변수에 지정된 값과 일치하는지 확인합니다.

+0

죄송합니다. 단지 내 질문에 쓴 내용을 복사하는 것입니다. 솔직히 말해서 나는 자동 완성을 비활성화하고 싶지 않다 ... 나는 내가 사용하는 해결책이 될 것이라고 생각한다. –

관련 문제