안녕하세요. php를 배우고있는 초보입니다.
데이터 입력이 완료되면 모달팝업을 띄우고싶은데 모달이 작동을 안하네요..!!
데이터는 정상적으로 DB에 들어와서 조회까지 가능합니다.
아래는 사용중인 코드입니다.!!
두번누르면 이미예약되었다는 경고창은 뜨는데 모달만 작동을 안합니다 ㅠ 어느부분을 수정하면 좋을까요?? 조언부탁드리겠습니다..
Copy
<!--신청완료팝업-->
<?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개 / 댓글 1개
채택된 답변
+20 포인트
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으로 보내줄필요가있어보입니다
답변에 대한 댓글 1개
답변을 작성하려면 로그인이 필요합니다.