2011-02-01 5 views
4

최신 버전의 Firefox에는 양식에 채워진 내용을 기억하고 새로 고침시이 값으로 양식이 다시 채워지는 새로운 '기능'이 있습니다 (다른 상황에서도 마찬가지 일 수 있습니다). ?).Firefox 자동 완성 html 양식을 사용하지 않지만 자동 완성을 유지합니다.

문제는 우리가 꽤 복잡한 아약스와 사용자가 작성하지 않은 숨겨진 양식 필드를 사용하는 매우 복잡한 웹 응용 프로그램을 가지고 있지만 자바 스크립트에 의한 것입니다. 이 새로운 '기능'때문에 양식이 새로 고침 될 때 잘못된 값으로 갑자기 입력되기 때문에 많은 오류가 발생합니다.

그래서 자동 완성을 사용 중지하지 않고이 '기능'을 사용 중지하는 방법을 찾고 있습니다. 난 내 HTML에서

autocomplete='off'

를 넣어 경우

(즉 필드에서 유용하기 때문에 고객이 기입), 효과를 사용할 수 없습니다, 그러나 이것은 자동 완성을 (분명) 잃는다. 사용자 작업없이 새로 고침 후 필드 채우기가 문제가됩니다.

답변

0

이것은 브라우저 기능입니다. 각 클라이언트 브라우저의 설정을 사용하지 않으면이 기능을 비활성화 할 수 없습니다.

나는 클라이언트와 서버 측면에서보다 강력한 검증을 제안합니다.

-1

자동 완성은 새로운 것이 아닙니다. 모든 브라우저에 있습니다. 이 부분을 참조하십시오 http://www.w3.org/Submission/web-forms2/#the-autocomplete

자동 채우기? 확실합니까? Firebug (Firefox addon)를 사용하여 입력 값 속성을 확인하십시오. 귀하의 아약스에서 게시물과 응답을 확인하십시오. 어쩌면 아약스가 장면 뒤에서 그것을 채우고 있을지도 모릅니다.

BTW : 외부 도구 모음을 사용하지 않으려면 remenber. Firefox/IE/Chrome/등 사용자를위한 자동 완성 데이터를위한 툴바가 있습니다. 이것에 경고하십시오.

+0

문제가 자동으로 완료되지 않습니다. 폼을 저장하는 값 (다른 것들 중에서 선택 상자는 다른 옵션이 "SELECTED"로 표시 되더라도 페이지를 새로 고치기 전에 이미 선택되어 있습니다) – pvgoddijn

1

정확히 일치하는 항목이 1 개있는 경우 암호 관리자가 사용자 이름과 암호를 입력하지만 자동 완성 자체는 필드를 자동으로 채우지 않습니다. 그러나 나는 페이지를 새로 고침하면 새로 고침에 대해 생각하고 있다고 생각합니다. 이 경우 필드 값은 세션 기록에 의해 복원되지만 페이지를 캐시 할 수 없음으로 표시하여 해제 할 수 있습니다.

1

글쎄,이 필드의 값을 아무것도 또는 다른 javascript/ajax 작업을 시작하기 바로 전에 javascript를 사용하는 기본 값으로 설정해야합니다. 페이지가로드 된 후

0

,하지만 당신은 다른 논리를하기 전에, 당신은 비어있는 값을 강제해야한다 :

여기
inputElem.value = ''; 
0

내가 함께 넣어 jQuery를 솔루션입니다.

자동 완성을 사용 중지하지 않고 브라우저가 완료 한 후에 필드를 재정의합니다.

내가 이것을 만들었을 때 Chromes 자동 완성 프로그램과 맞서려고했습니다. chrome autofill 기능이 실행되기 전에 트리거 된 이후로 .val ('')을 사용하면 작동하지 않습니다. 이미 언급 된

var noFiller = $('input[type="text"]'); 

noFiller.val(' '); 
var t=setTimeout(function(){ 
    noFiller.val(''); 
},60);//keep increasing this number until it works 
0

자바 스크립트 솔루션 (Ajax를 통해 페이지를로드하거나 업데이트 할 때 필드 값을 설정하는 비우는).

다른 옵션은 필드에 연결된 임의의 숫자로 ID를 생성하여 브라우저가 캐시 된 값과 일치시키지 못하도록 할 수 있지만, 다른 옵션이 엉망이 될 수 있습니다.