alert가 적용되지 않습니다.
관련링크
https://sir.kr/g5_skin/40699
48회 연결
본문
트리플님이 올려주신 최신글스킨으로 index에 적용하였는데요.
잘 쓰고 있다가 알림까지 해야해서요.
원 게시판에서는 알림이 잘 오나 메인에서 작성 시 오지 않아 그누보드에서 찾고 찾아
아래 소스를 적용하니 메일이 오고 있습니다.
그런데 단 하나 문제가.. 기존 스킨처럼 "정상적으로 접수완료했습니다." 알림창이 수정하고 나니 뜨질 않네요.
검색으로 찾아보다가 한계에 부딪혀 이렇게 글을 써봅니다.
latest.skin.php
<script type="text/javascript">
$(function () {
//시작옵션
// $('input[name="wr_1"]').keyup(function (e) {
// var thisLen = $(this).val().length;
// if (thisLen >= 3) {
// $('input[name="counsel_tel2"]').focus();
// }
// });
// $('input[name="counsel_tel2"]').keyup(function (e) {
// var thisLen = $(this).val().length;
// if (thisLen >= 4) {
// $('input[name="counsel_tel3"]').focus();
// }
// });
//시작옵션
});
function fn_checkElement(selector, defvalue) {
var retValue = false;
$(selector).on('mouseleave',
function () {
$(selector).css('background-color', '#ffffff');
});
if ($.trim($(selector).val()) == defvalue) {
if ($('#header_view_box').is(':visible')) {
$('#header_view_box').slideUp('slow');
}
$(selector).css('background-color', '#ffcc66').focus();
retValue = false;
}
else {
$(selector).css('background-color', '#ffffff');
retValue = true;
}
//alert(retValue);
return retValue;
}
function fn_sendCounsel() {
<?php if($is_login){ ?>
if(g5_is_member != "1") {
alert('회원 로그인 후 이용해 주십시오.');
return false;
}
<?php } ?>
if (fn_checkElement($('input[name="wr_name"]'), '') == false) {
return false;
}
if (fn_checkElement($('input[name="wr_1"]'), '') == false) {
return false;
}
if (fn_checkElement($('input[name="wr_2"]'), '') == false) {
return false;
}
if (fn_checkElement($('select[name="wr_3"]'), '') == false) {
return false;
}
// if (fn_checkElement($('input[name="counsel_tel2"]'), '') == false) {
// return false;
// }
// if (fn_checkElement($('input[name="counsel_tel3"]'), '') == false) {
// return false;
// }
if ($('input[name="counsel_agree"]').is(':checked') == false) {
alert('상담신청을 하려면 [개인정보수집방침]에 동의해 주시기 바랍니다.');
$('input[name="counsel_agree"]').focus();
return false;
}
if (confirm('입력하신 정보가 정확하시면 [확인] 버튼을 클릭하세요\n\n이름: ' + $('input[name="wr_name"]').val() + '\n연락처: ' + $('input[name="wr_1"]').val()+ '\n연령: ' + $('input[name="wr_2"]').val() + '\n통화가능시간대: ' + $('select[name="wr_3"]').val())) {
// if (confirm('입력하신 정보가 정확하시면 [확인] 버튼을 클릭하세요\n\n이름: ' + $('input[name="wr_name"]').val() + '\n지역: ' + $('select[name="wr_2"]').val() + '\n연락처: ' + $('input[name="wr_1"]').val() + '-' + $('input[name="counsel_tel2"]').val() + '-' + $('input[name="counsel_tel3"]').val())) {
$.ajax({
url: "<?php echo $latest_skin_url;?>/ajax.request_save.php",
data: {
"is_login" : "<?php echo $is_login; ?>",
"bo_table" : "<?php echo $bo_table; ?>",
"ca_name" : "<?php echo $ca_name; ?>",
// "name" : $('input[name="wr_name"]').val(),
"wr_name" : $('input[name="wr_name"]').val(),
"wr_1" : $('input[name="wr_1"]').val(),
"wr_2" : $('input[name="wr_2"]').val(),
"wr_3" : $('select[name="wr_3"]').val(),
//"tel2" : $('input[name="counsel_tel2"]').val(),
//"tel3" : $('input[name="counsel_tel3"]').val()
},
type: "POST",
dataType: "json",
success: function(data){
if(data.error) {
alert(data.error);
return false;
}else{
alert('정상적으로 접수완료했습니다.');
$('input[name="counsel_agree"]').attr('checked',false);
$('input[name="wr_name"]').val('');
$('input[name="wr_1"]').val('');
$('input[name="wr_2"]').val('');
$('select[name="wr_3"]').val('');
// $('input[name="counsel_tel2"]').val('');
// $('input[name="counsel_tel3"]').val('');
}
}
});
}
}
$(document).on('scroll', function (e) {
var yPos = $(window).scrollTop();
//console.log('yPos=' + yPos + ', height=' + $('#footer_counsel').css('height'));
if (yPos == 0) {
if ($('#footer_counsel').css('height') == "<?php echo $options['footer_h'];?>px") {
$('#footer_counsel').animate({ height: "<?php echo $options['footer_h'];?>px" }, 0).stop().animate({ height: "0px" }, 500);
}
}
else {
if ($('#footer_counsel').css('height') == "0px") {
$('#footer_counsel').animate({ height: "0px" }, 0).stop().animate({ height: "<?php echo $options['footer_h'];?>px" }, 500);
}
}
});
</script>
ajax.request_save.php
<?php
include_once($_SERVER['DOCUMENT_ROOT'] .'/common.php');
include_once('./_common.php');
include_once(G5_LIB_PATH.'/mailer.lib.php');
if(!$bo_table)
die(json_encode(array('error'=>'위젯설정에서 보드아이디를 설정해주세요.')));
if(!$is_member && $is_login)
die(json_encode(array('error'=>'회원가입후 이용해주세요.')));
$wr_1 = trim($_POST['wr_name']); //이름
$wr_2 = trim($_POST['wr_1']); //연락처
$wr_3 = trim($_POST['wr_2']); //연령
$wr_4 = trim($_POST['wr_3']); //통화가능시간
//$wr_3 = trim($_POST['tel1'].'-'.$_POST['tel2'].'-'.$_POST['tel3']); //연락처
//$bo_table = "online";
$write_table = $g5['write_prefix'] . $bo_table;
$wr_num = get_next_num($write_table);
$wr_reply = "";
$html = 'html1';
if ($member['mb_id']) {
$mb_id = $member['mb_id'];
$wr_name = addslashes(clean_xss_tags($board['bo_use_name'] ? $member['mb_name'] : $member['mb_nick']));
$wr_password = $member['mb_password'];
} else {
$mb_id = '';
// 비회원의 경우 이름이 누락되는 경우가 있음
$wr_name = clean_xss_tags(trim($wr_1));
if (!$wr_name)
alert('이름은 필히 입력하셔야 합니다.');
$wr_password = get_encrypt_string($wr_3);
}
//분류
if($board['bo_use_category']){
$ca_name = $_POST['ca_name'];
}
$wr_subject = $wr_1.'님 상담신청';
$wr_content = $wr_1.'님 상담신청입니다.<br>';
$wr_content .= '연락처 : '.$wr_2.'<br>';
$wr_content .= '연령: '.$wr_3.'<br>';
$wr_content .= '통화가능시간 : '.$wr_4;
$sql = " insert into $write_table
set wr_num = '$wr_num',
wr_reply = '$wr_reply',
wr_comment = 0,
ca_name = '$ca_name',
wr_option = '$html,$secret,$mail',
wr_subject = '$wr_subject',
wr_content = '$wr_content',
wr_link1 = '$wr_link1',
wr_link2 = '$wr_link2',
wr_link1_hit = 0,
wr_link2_hit = 0,
wr_hit = 0,
wr_good = 0,
wr_nogood = 0,
mb_id = '$mb_id',
wr_password = '$wr_password',
wr_name = '$wr_name',
wr_email = '$wr_email',
wr_datetime = '".G5_TIME_YMDHIS."',
wr_last = '".G5_TIME_YMDHIS."',
wr_ip = '{$_SERVER['REMOTE_ADDR']}',
wr_1 = '$wr_1',
wr_2 = '$wr_2',
wr_3 = '$wr_3',
wr_4 = '$wr_4',
wr_5 = '$wr_5',
wr_6 = '$wr_6',
wr_7 = '$wr_7',
wr_8 = '$wr_8',
wr_9 = '$wr_9',
wr_10 = '$wr_10' ";
if(sql_query($sql)){
$wr_id = sql_insert_id();
// 부모 아이디에 UPDATE
sql_query(" update $write_table set wr_parent = '$wr_id' where wr_id = '$wr_id' ");
// 새글 INSERT
sql_query(" insert into {$g5['board_new_table']} ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '{$bo_table}', '{$wr_id}', '{$wr_id}', '".G5_TIME_YMDHIS."', '{$member['mb_id']}' ) ");
// 게시글 1 증가
sql_query("update {$g5['board_table']} set bo_count_write = bo_count_write + 1 where bo_table = '{$bo_table}'");
// 메일알림
$aaa = $config['cf_admin_email']; //관리자 환경설정 기본환경설정에 등록된 이메일 가져오기
$content .= "<div>이름 : ".$wr_name."</div>";
$content .= "<div>연락처 : ".$wr_2."</div>";
$content .= "<div>연령 : ".$wr_3."</div>";
$content .= "<div>통화가능시간대 : ".$wr_4."</div>";
mailer($wr_name, $aaa, $aaa, '[홈페이지] 온라인문의 가 접수되었습니다.', $content, 1);
alert("reservation complete");
delete_cache_latest($bo_table);
die(json_encode(array('error'=>'')));
}else{
die(json_encode(array('error'=>'접수에 문제가 있습니다. 관리자에게 문의하세요.')));
}
?>
답변 1
메일이 온다 => ajax 콜이 성공했다.
alert창이 나오지 않는다. => success구간에 돌입하지 못했다
ajax.request_save.php 페이지에서 alert("reservation complete"); 이 구간때문에
json형식이 아닌 다른값이 출력되기 때문에 그런게 아닌가 싶네요
답변을 작성하시기 전에 로그인 해주세요.