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