2012-11-13 4 views
1

Safari 브라우저의 양식이있는 페이지에서 사용자가 브라우저의 탭을 닫고 양식의 유효성을 검사하지 않으면 열리는 시스템 모달 팝업이 있습니다. 텍스트 : "[name of the page]"에 텍스트를 입력했습니다. 창을 닫으면 변경 사항이 손실됩니다. 어쨌든 창을 닫으시겠습니까?Safari 팝업이 AJAX로 양식을 제출할 때 닫습니다.

게시물이 다른 페이지로 리디렉션되는 경우이 동작은 정상입니다. 저희 사이트에는 Ajax 요청을 사용하여 양식을 검증하는 페이지가 있습니다. 페이지가 다시로드되지 않기 때문에 양식을 제출 했더라도 팝업이 나타나 최종 사용자에게 이상하게 느껴질 수 있습니다.

포스트는 버튼에 의해 트리거됩니다 :

  1. 양식은 jQuery Validation plugin
  2. 플러그인 옵션 return false;
  3. 날짜가 $.post을 통해 전송하는 submitHandler 옵션을 포함하여 검증하고, 메시지에 대해 사용자에게 알려줍니다 성공/실패.

통화가 반환되면 누구나이 팝업이 발생하지 않도록하는 방법에 대한 아이디어가 있습니까? 이 경우 재로드를 강요하지 않으려합니다. 이 동작은 changed by the user 수 있지만 아주 쉽게 할 수

주 ...

답변

0

나는 윈도 용 사파리에서이를 복제 할 수 없습니다.

양식 제출이 완료된 후 입력 필드를 비우기/다시 설정하는 것이 좋을 수도 있습니다. 물론 제출하지 않은 상태에서 양식을 완전히 삭제하는 것이 더 바람직합니다. 물론 페이지를 다시로드하지 않고 DOM 조작을 사용합니다.

부수적으로 보았을 때 (확인 메시지를 표시한다고해도) 채워진 양식을 보는 것은 사용자에게 이상 할 수 있습니다 (여러 용도의 양식이 아니고이 동작이 예상되지 않는 한).).

업데이트 : Mac Safari에서 테스트했는데 설명대로 작동하지만 입력 한 내용을 제거하면 브라우저가 처음에 알림을 표시합니다. 따라서 필드를 간단하게 재설정하면 트릭을 수행해야합니다.

+0

감사합니다. 우리가 살펴볼 수있는 아이디어와 몇 가지 다른 아이디어가 있습니다. 우리는 결과를 얻 자마자 질문에 대해 업데이트 할 것입니다. – Olivier

+0

누구나 브라우저 히스토리.push를 사용하여 동일한 페이지를 탐색하는 것과 관련하여 비워야하는 해결책이 있습니까? 양식이 현재 상황을 보여주고있는 경우 끔찍한 사용자 경험이라고 생각하기 때문입니다. – Zargold

관련 문제