모달팝업 관련 질문입니다...!!

모달팝업 관련 질문입니다...!!

QA

모달팝업 관련 질문입니다...!!

답변 1

본문

안녕하세요. php를 배우고있는 초보입니다.

데이터 입력이 완료되면 모달팝업을 띄우고싶은데 모달이 작동을 안하네요..!!

데이터는 정상적으로 DB에 들어와서 조회까지 가능합니다.

아래는 사용중인 코드입니다.!!

두번누르면 이미예약되었다는 경고창은 뜨는데 모달만 작동을 안합니다 ㅠ 어느부분을 수정하면 좋을까요?? 조언부탁드리겠습니다..


<!--신청완료팝업-->
                        <?php
                         // 개인정보가 유출될 여지가 있어서 ajax 방식으로 변경함.
                        // 예약 성공한 경우 팝업에 사용할 변수
                        $rsv = preg_replace('/[^0-9]/', '', $_GET['rsv']);
                        if ($rsv > 0){
                            $sql    = mysql_query("select name, date, time from n_visit_reservation where no='$rsv' ");
                            $d      = mysql_fetch_array($sql);
                            $name   = $d['name'];
                            $date   = str_split($d['date'], 2);
                            $time   = str_split($d['time'], 2);
                        }
                        
                        ?>
 
                        <div id="popModal" class="modal" <?=($rsv?"style='display:block'":"")?>>
                            <div class="modal-content">
                                <span class="close cursor" id="popModal_close">×</span>
                                <!-- <div class="bar"><img src="/image/sub/reservation/halla.gif"></div> -->
                                <div class="content_inner">
                                    <div class="nth_01">견본주택 사전방문 예약이<br />완료되었습니다.</div>
                                    <div class="nth_02"><img src="../image/sub/reservation/icon1.gif"></div>
                                    <div class="result">
                                        <strong id="rsved_name"></strong>님, 예약해주셔서 감사합니다.<br />
                                        <b>
                                            <span id="rsved_date1"></span>월
                                            <span id="rsved_date2"></span>일
                                            <span id="rsved_time1"></span>시
                                            <span id="rsved_time2"></span>분
                                        </b>
                                        에 뵙겠습니다.
                                    </div>
                                    <p>지정된 시간보다 늦게 도착하실 경우<br />관람 제한이 있을 수 있으니<br/>예약 시간 10분 전 방문을 권장드립니다.</p>
                                </div>
                            </div>
                        </div>
                        <!--//신청완료팝업-->
 
 
$.ajax({
                url:"reservation_apt_do.php",
                data : vdata,
                type : "POST",
                dataType : "text",
                success : function(data) {
                    if (data == 'success'){
                        $("#rsved_name").text(vr_name);
                        $("#rsved_date1").text(date1);
                        $("#rsved_date2").text(date2);
                        $("#rsved_time1").text(time1);
                        $("#rsved_time2").text(time2);
                        $("#popModal").fadeIn(300);
                    } else if (data == 'full'){
                        alert('선택하신 날짜의 시간은 더이상 예약할 수 없습니다.\n다른 시간이나 날짜를 선택해주세요.');
                        getTime(vr_date); // 시간표 다시 조회
                        $('html, body').animate({
                            scrollTop: $(".select_wrap").offset().top - 30
                        }, 750);
                    } else if (data == 'already'){
                        alert('이미 등록된 연락처입니다.');
                    } else if (data == 'error'){
                        alert('접수실패! 다시 입력해주세요.');
                    }
                },
                error : function() {
                    alert("데이터 입력중 오류가 발생했습니다.\n다시 시도해주시기 바랍니다. [ERR-INS1]");
                }
            });

이 질문에 댓글 쓰기 :

답변 1

ajax를 보시면 success 부분이 전체적으로 잘못되어있습니다

 

reservation_apt_do.php에서 마지막에 어떤식으로 처리를 해주는지도 한번봐야할것같네요

dataType이 text면 마지막에 echo 'success';이런식으로 끝나는것같은데

그렇게 되면

$("#rsved_name").text(vr_name);

$("#rsved_date1").text(date1);

$("#rsved_date2").text(date2);

$("#rsved_time1").text(time1);

$("#rsved_time2").text(time2);

여기에 들어가는 데이터들은 어떻게 가져올까요? ㅎㅎ

아마 이데이터들이 없으니 .text가 오류가 발생하여 마지막에

$("#popModal").fadeIn(300);가 작동을 안한것같네요

 

dataType을 json으로 하고 reservation_apt_do.php에서 끝날때 data를 json으로 보내줄필요가있어보입니다

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
  • 질문이 없습니다.
전체 0
© SIRSOFT
현재 페이지 제일 처음으로