Extra Form
PHP PHP 7.2
CMS Rhymix

사정이 생겨 글 쓰기 취소에 확인창을 거치게 해주려고 합니다.

 

구글링에서 

<a href="#" onclick="goBack()" class="btCancel">{$lang->cmd_cancel}</a>

 function goBack(){
  if(confirm("정말 취소하시겠습니까?")){
    window.history.back(1);  
  }

 

이런 스크립트를 적용했는데요.

 

문제점이 하나 있습니다.

 

취소하시겠습니까?  

예, 아니오

 

아니오를 선택 하면 뒤로가기가 중단됩니다.

그런데 여기서 다시 맘이 바뀌어  취소를 하려고

 

취소하시겠습니까?

예, 아니오

 

예를 선택하게 되면 이전페이지가 페이지를 벗어나는 위치가 아닌 

취소를 한번 시도했던 그 페이지가 되는 듯 합니다.

 

예를 눌러도 페이지를 벗어나지 못하죠.

 

여기서 다시 한번 취소를 눌러서 

확인창에서 예 를 선택하면 이제 다시 창을 벗어나게 됩니다.

 

 

쉽게 간략히 설명하면 

 

확인창에서 처음에 "아니오" 를 누르면 그다음 정말 취소를 하고 싶은 경우에는 뒤로가는 액션을 2번해야 하는 상황입니다.

 

 

위 스크립트에 아니오를 눌렀을 경우 다음에 다시 취소를 누를 때는 대비해서 뭔가 코드가 추가되어야 할 것 같은데 도움 부탁드립니다.

  • Lv30
    onclick="goBack();return false;"

    이렇게 하니 원하는대로 되네요.
  • Lv30 Lv9
    좋은 팁이네요! 흔적 남겨주셔서 감사 ^^
  • Lv9 Lv30
    이게 요즘 안드로이드 크롬 계열에서 엔터를 치면 키보드가 내려가는 버그가 있는 것 같아요.
    그런데 타자를 빨리 치는 습관이 있던 분들이 엔터치고 다음 글자 치려다가 키보드가 사라지고 취소 버튼이 눌리는 것 같습니다.
    키보드가 내려가서 뒤로가기가 눌려져 글쓰기 힘들다고 호소하는 것을 우연히 봤는데요.

    아마도 저희 모바일은 취소 버튼이 굉장히 길고 해서 취소 버튼을 의도치 않게 눌리는 상황에 자주 처하는 것 같다는 추측을 하게 되었습니다.

    크롬 버그를 제가 어떻게 할 수는 없을 것 같고 일단 글 날리는 것이라도 막아드리려고 이렇게 하게 되었네요.

    기존에는 취소 스쳐도 바로 글 날리는...
  • Lv30 Lv9
    아이디어와 실행력 정말 놀랍습니다!
  • Lv5
    백버튼시 history 이용하는 방법보다는 목록을 보내는게 좋지 않을까요?
    location.href = '{getFullUrl('act','')}'; 넣으면 될것 같네요
  • Lv5 Lv30
    네. 그건 각자 필요에 따라 목록으로 보내도 되겠죠~~