문제

사용자가 브라우저에서 새로 고침을 누르면 페이지가 다시 로드되지만 양식 필드의 내용은 유지됩니다.이것이 유용한 기본값이라고 생각하지만 일부 동적 페이지에서는 성가시게 느껴져 사용자 경험이 손상될 수 있습니다.

HTTP 헤더나 이에 상응하는 항목에 이 동작을 변경할 수 있는 방법이 있나요?

도움이 되었습니까?

해결책

<input autocomplete="off">

다른 팁

이렇게 하면 트릭을 수행할 수 있습니다.

<body onload="document.FormName.reset();">

FormName을 양식 이름으로 바꾸면 사용자가 브라우저에서 새로 고침을 클릭할 때 모든 필드가 재설정됩니다.

또는 일부 필드만 재설정하려면 페이지 하단에 다음을 추가하세요.

<script type="text/javascript">
    document.getElementById('field1').value ='';
    document.getElementById('field2').value ='';
    document.getElementById('field3').value ='';
</script>

새로 고침을 포함하여 사용자가 페이지에 들어갈 때마다 필드가 재설정됩니다.

새로 고치지 않으려는 입력에 "off"로 설정된 자동 완성 속성을 추가하십시오.예를 들어:

<input type="text" name="pin" autocomplete="off" />

보다W3C 참조

참고자료에는 언급되지 않았지만 적어도 Firefox에서는 체크박스에서도 작동합니다.

양식을 지우려면 HTML 문서의 본문 로드 이벤트에서 양식 개체의 재설정() 메서드를 호출할 수 있습니다.

h1.참고자료

메타태그를 통해 페이지가 캐시되지 않도록 설정하면 문제가 해결되나요? http://lists.evolt.org/archive/Week-of-Mon-20030106/131984.html 그렇다면 Javascript가 비활성화된 브라우저에서 작업하는 이점이 있습니다.

양식의 데이터는 w3c 사양의 일부가 아닙니다.귀하의 삶을 편리하게 만들어주는 브라우저 기능입니다.따라서 다시 로드한 후 데이터를 유지하지 않으려면 Espo가 말한 것처럼 로드한 후 모든 양식의 값을 null로 설정할 수 있습니다.페이지가 캐시되지 않더라도 데이터가 페이지 HTML 코드의 일부가 아니기 때문에 양식에 데이터가 표시됩니다.이것도 시도해 볼 수 있습니다(작동할지 모르겠습니다).

<input type="text" name="foo" value="">
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top