2012-02-23 2 views
3

사용자가 양식을 작성하는 동안 웹 페이지가 새로 고쳐질 수있는 상황이 있습니다. 원하지 않는 결과는 사용자가 이미 입력 한 데이터를 지우는 것입니다.페이지 새로 고침시 양식 데이터 유지

페이지를 새로 고침 할 때 양식 데이터를 유지하는 솔루션이 있습니까?

양식에 텍스트 입력 및 선택이 포함됩니다.

답변

1

사용자가 "I have a situation where for some reason a Web page might refresh"라고 말하면 사용자가 페이지를 새로 고칠 수 있다는 의미입니까 아니면 페이지를 새로 고치는 다른 스크립트입니까? 사례가 후자 인 경우 양식 데이터를 보존하는 대신 새로 고침이 발생하는 문제를 해결해야합니다. 이것이 전자의 경우 JavaScript가 아마도 당신을위한 해결책 일 것입니다.

모든 keyup-event를 모든 form 요소에서 수신 할 수 있습니다. keyup-event가 실행되면 폼 데이터를 직렬화하여 쿠키 (또는 지원해야하는 브라우저에 따라 웹 저장소)에 기록하여 최신 데이터를 보존합니다. 페이지가 다시로드되거나 사용자가 페이지를 떠나 다시 돌아 오면 쿠키는 문서 준비 상태로 비 직렬화 될 수 있으며 쿠키의 데이터로 양식을 다시 채울 수 있습니다. 양식을 게시 할 때 다음에 사용자가 페이지를로드 할 때 양식이 채워지지 않도록 쿠키도 지우십시오.

업데이트 여기

는 자바 스크립트 직렬화에 대한 직렬화를 GSerializer을 사용하는 방법에 대한 좋은 blog post이다. 사용자가 양식을 작성함에 따라

+0

감사합니다. 예를 들어 직렬화에 jQuery를 사용할 수는 있지만 직렬화는 어떻게 작동합니까? 거기에 기능이 있습니까, 아니면 처음부터 스크립트를 작성해야합니까? – Christophe

+0

페이지 새로 고침은 사용자가 제어 할 수 없으므로 페이지 내용을 업데이트하는 것입니다 (아약스 없음). – Christophe

+0

@Christophe JavaScript로 직렬화/비 직렬화에 대한 정보를 가지고 제 답변을 업데이트했습니다. –

1

는 A가 접근

  1. 을 제안, 자바 스크립트 LocalStorage에 입력 된 값을 캐시 실행, 쿠키, 또는 AJAX를 통해 세션 변수가 있습니다.

  2. 페이지로드시 이러한 항목이 있는지 확인하고 JavaScript로 양식을 채 웁니다.

  3. 양식 제출시 항목을 지우십시오.

관련 문제