문의하기 전달 시 오류
본문
제가 티로그 반응형 무료테마를 이용하고 있습니다. 원래 해당 문의하기 폼이 메인 홈에 있던걸 다른 카테고리에 붙여서 레이아웃은 적용이 되었는데 SEND 를 누르면 작동이 되지 않고 ' 하실 항목을 하나이상 선택해주세요' 라는 오류 창이 뜹니다. 제가 예전에 전송 테스트 했을땐 정상적으로 작동 되었는데 갑자기 안되서 당황스럽네요..
옮겨온 카테고리는 공지사항이 있는 카테고리였는데 공지사항을 주석처리 시키고 문의하기 폼을 붙여넣은 상태입니다!
해당 html 부분입니다,
<section class="tl_contact_box_wrap" id="contact">
<div class="inner clearfix">
<form id="contact-form" name="contact-form" method="post" action="<?php echo G5_THEME_URL.'/html/contact_mail_x.php' ?>" style="position:relative" class="aos-init aos-animate" data-aos="fade-down" data-aos-delay="400">
<h2>CONTACT US<span>관리자에서 기본메일을 변경해주세요.</span></h2>
<div class="input_page">
<input type="text" name="co_name" id="co_name" maxlength="100" value="NAME" onfocus="if (this.value == 'NAME') this.value = '';" onblur="if (this.value == '') this.value = 'NAME';">
</div>
<div class="input_page">
<input type="text" name="co_email" id="co_email" maxlength="100" value="E-MAIL" onfocus="if (this.value == 'E-MAIL') this.value = '';" onblur="if (this.value == '') this.value = 'E-MAIL';">
</div>
<div class="txtarea_page">
<textarea name="co_message" id="co_message" maxlength="100" onBlur=OnExit(this) onFocus=OnEnter(this) cols="30">MEMO</textarea>
</div>
<div class="send_page">
<button type="submit" class="send">SEND</button>
</div>
<div id="x_message" class="x-msg1" style="overflow: hidden; display: none;"></div>
<div id="x_loading"><i class="fa fa-spinner fa-spin" aria-hidden="true"></i></div>
</form></div>
</section>
<script>
$(function() {
function validateEmail(email) {
var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(email);
}
function x_message(msg, type) {
console.log(msg);
$('#x_message').html(msg).removeClass("x-msg1").removeClass("x-msg2").addClass("x-msg"+type).show(400);
setTimeout(function() {
$('#x_message').hide(400);
},3000);
}
var is_sending = false;
$('#contact-form').submit(function(e) {
e.preventDefault();
var co_name = $('#co_name').val();
var co_email = $('#co_email').val();
var co_message = $('#co_message').val();
var data = {'co_name':co_name,'co_email':co_email,'co_message':co_message};
console.log(co_name);
if(co_name == '' || co_name == 'NAME') {
x_message('이름을 입력하세요',1);
$('#co_name').focus();
return false;
}
if(co_email == '' || co_email == 'E-MAIL') {
x_message('이메일을 입력하세요',1);
$('#co_email').focus();
return false;
}
if(!validateEmail(co_email)) {
x_message('이메일 형식이 유효하지 않습니다.',1);
$('#co_email').focus();
return false;
}
if(co_message == '' ||co_message == 'MEMO') {
x_message('내용을 입력하세요',1);
$('#co_message').focus();
return false;
}
is_sending = true;
$('#x_loading').show();
var url = $(this).attr('action');
$.ajax({
method: "POST",
type: "POST",
url: url,
data: data,
dataType: "json"
})
.done(function(data) {
if(data['error']) {
x_message(data['error'],1);
}
else {
x_message('메일을 전송하였습니다.',2);
$('#contact-form')[0].reset();
}
is_sending = false;
$('#x_loading').hide();
});
return false;
});
});
</script>
답변 2
질문으로 보아 list에 넣은 것이겟죠?
본래의 폼 태그 <form name="fboardlist"~~~ <--이곳과 겹치게(저 폼태그 속에) form을 넣으면 안됩니다
아래쪽 </form> 다음에 넣으세요
위 소스에서는 해당 부분 확인이 안되서 스크립트 디버깅을 해서 체크하면서 어디서 발생되는지 부터 체크를 해보셔야 할듯 합니다.