스크랩을 할때 alret창을 팝업창이 아닌 홈페이지에서 띄우려면
본문
스크랩에서 alert창을 띄우는데 상당히 힘겨운 싸움을 하고 있어요.ㅠㅠ
기본적으로 제가 하고자 하는건, 스크랩버튼을 눌렀을때 ,
댓글을 써달라는 팝업창 없이 바로 스크랩을 할수 있는것이 목표인거에요.
view창에서
<?php
$scrap_update = '';
if ($is_member) {
$scrap_update = './scrap_popin_update.php?bo_table='.$bo_table.'&wr_id='.$wr_id;
$scrap_sql = " select count(*) as cnt from {$g5['scrap_table']} where mb_id = '{$member['mb_id']}' and bo_table = '$bo_table' ";
$scrap_row = sql_fetch($scrap_sql);
}
?>
를 넣어두고
버튼을 아래와 같이 설정했었어요.
<?php if ($scrap_update) { ?>
<a href="<?php echo $scrap_update; ?>" class="btn btn-black btn-xs" onclick="win_scrap(this.href); return false;" ><i class="fa fa-thumb-tack" aria-hidden="true"></i>스크랩</a>
<?php } ?>
스크랩의 bbs 구조가
bbs/scrap.php
bbs/scrap_delete.php
bbs/scrap_popin.php
bbs/scrap_popin_update.php
이리되어있는데, 댓글을 써달라는 창인 bbs/scrap_popin.php를 경유하지 않고 다이렉트로
scrap_popin_update.php로 직행해서, 스크랩 데이터를 업데이트 하는 스타일로
이럴경우는 팝업창으로 scrap_popin_update.php 안에 있는 alert 창이 뜹니다.
그러니깐...다시 설명하자면 저렇게 했을경우, 댓글창은 경유하지 않지만
기본적으로 제 홈페이지가 켜있는 상태에서 , 팝업이 새로 뜨고, 그 팝업안에서 alert 창이 뜨는거죠.
굉장히 이상한 형태의 상황에 도달합니다.
아래 그림은 팝업으로 뜬 팝업의 스크린샷입니다.
( 더 힘겨운건..저기서 확인을 누르면 그냥 하얀 공백의 팝업창으로 그냥 떠 있음 . close 닫기 버튼을 따로 넣어야 닫아짐 )
근데 팝업이든 뭐든 기본적으로 아무것도 안띄우고, alert로 현재 상황만 알림해주는게 목표인지라..
팝업을 안뛰우려고 버튼창에서
<?php if ($scrap_update) { ?>
<a href="<?php echo $scrap_update; ?>" class="btn btn-black btn-xs" onclick="win_scrap(this.href); return false;" ><i class="fa fa-thumb-tack" aria-hidden="true"></i>스크랩</a>
<?php } ?>
common.js를 가보니 , win_scrap이 팝업으로 사이즈가 정해져 있더라구요. 그래서
onclick="win_scrap(this.href); return false;" 을 삭제했습니다.
그랬더니 팝업은 안뜨고 아래와 같이 홈페이지 안에 alert창이 뜨는데..
문제는 일딴, 현재 보고있는 페이지에서 이탈되고 있는 상태에요.
어쩌면 당연한것이, scrap_popin_update.php 로 이동하는것과 같은 효과인거 같아서 그런거 같아요.
근데 여기서 한발 더 나아가 더 어지럽게 하는것은 확인을 누르면
그냥 위에처럼 빈페이지로 남겨져 있다는것입니다 ㅠ.ㅠ
제가 몇몇 곳들을 보고 강좌하는것도 읽어보고, 다양한 홈페이지들을 돌아보고
sir 아미나 제로보드(여기도 그냥 마구잡이로 가봄 ㅠ) 그누스터디라는
홈페이지에서도 이것저것 해보고 읽어보지만
보통 스크랩을 다이렉트로 가져갈땐
아래처럼 홈페이지 현재 위치에서 alret창이 뜨면서 확인을 누르면 바로 스크랩이 되는데..
( 아래와 같은 형태가 제 롤 모델입니다 ㅠ.ㅠ )
뭐가 빠진걸까...고민스럽습니다.
view.php에서 스크립트를 처리해야할거 같은데
기본적으로 스크랩 쿼리문이 scrap_popin_update.php 에서 돌고 있고
이게 뷰에 들어왔을땐, 어떤식으로 적어줘야할지 잘 모르겠습니다..
진짜 작은 개인용 홈페이지 하나 만들려고 하다가...본업도 다 재껴버리고 시간날때마다
생전 본적도 없는 프로그램 코드를 보려니하니 탈모가 올 지경이네요 ㅠ.ㅠ
작은 조언이나 관심 부탁드려봅니다.
!-->!-->!-->답변 1
링크로 이동하게되니 당연히 그렇게 됩니다
페이지 이동없이 하려면
ajax를 알면 이것을 이용하면 되고 아니면 iframe으로 target을 주어서 처리하면 됩니다
이것도 어려우면 그냥 scrap_popin_update.php 에서 alert부분을 수정하여 해당 페이지로 돌아오게 합니다
이미 스크랩하신 글 입니다 부분 수정
if (isset($row['cnt']) && $row['cnt']) alert('이미 ~~~', "board.php?bo_table=$bo_table&wr_id=$wr_id");
delete_cache_latest($bo_table); 다음행 추가
alert('스크랩 하였습니다', "board.php?bo_table=$bo_table&wr_id=$wr_id");