모달팝업 관련 질문입니다...!!
본문
안녕하세요. 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으로 보내줄필요가있어보입니다
답변을 작성하시기 전에 로그인 해주세요.