2016-09-20 1 views
1

공개 액세스 태블릿에서 HTML을 가져 왔습니다. 과거 양식 제출을 보려면 사용자가 과거 기록으로 되돌아 가지 못하게하는 방법이 있습니까?HTML에서 과거 콘텐츠/기록보기 사용 안함

저는 서버 측에서나 자바 스크립트를 사용하거나이 두 가지를 조합하여 사용하려고합니다.

자바 스크립트 코드를 사용하여 다시 작업을하지 못하지만 바로 뒤로 돌아가는 것을 허용하기 위해 즉각적인 뒤로, 계속 누르고 있습니다.

양식이 제출에 실패 할 때 값을 기억하도록 설정되어 있지만 제출 성공 후 값을 가져올 수 없어야합니다.

아마도 세션을 사용하고 PHP를 사용하여 처리하는 것이 더 좋을까요?

+1

Ajax를 사용할 수 있습니다. 호출이 기록에 전혀 포함되지 않기 때문입니다. 양식 -> Ajax로 결과 게시 및 표시 -> 다른 페이지로 사용자 또는 무언가를 리디렉션합니다 ... 만약 그들이 뒤로 버튼을 누르면 다시 빈 양식으로 나타납니다 ... –

답변

0

은 뒤로 버튼을 클릭을 통해 형태의 재 제출을 방지하기 위해 여러 가지 방법이 있습니다 :

한 가지 방법은 모든 양식 필드가 비어있는 것으로,이 페이지의로드를 수행 할 수 있습니다 설정하는 것입니다.

세션을 사용하여 사용자가 이미 양식을 제출했는지 확인할 수 있습니다. 쿠키 및/또는 로컬 저장소도 사용할 수 있습니다.

그러나 사용자가 쿠키를 삭제하고 로컬 저장소를 지울 수 있으므로 데이터베이스에 쿼리하여 중복 또는 다시 제출을 확인하거나 클라이언트 측에서 양식 필드를 빈 문자열로 설정하는 것이 좋습니다.

+0

문제는 다시 방지하지 않습니다. - 제출 (only)이 아니라 사용자가 뒤로 버튼을 사용하여 이전 항목이 무엇인지 확인하는 것을 방지합니다. – Daniel

+0

페이지 작업에 대한 캐싱을 비활성화 하시겠습니까? 내가 틀렸다고 정정 해 주지만, 대부분의 브라우저는 뒤로 버튼을 누르거나 기록으로 돌아갈 때 캐시 된 페이지를 표시하고 해당 페이지에서 스크립트를 다시 실행하지 않습니까? –

+0

문서를로드 할 때 서식을 다시 설정할 수 있습니다. $ ('# myform'). reset(); –