2
jQuery & PHPMailer()를 사용하여 양식을 제출했습니다. 오류가있는 경우 "이름은 필수 입력란"과 같이 양식 위에 표시되지만 모든 입력란이 정확하게 채워지면 양식에 상단에 빈 alert alert-danger
상자가 표시되고 제출되지 않습니다.오류가없는 경우 jQuery 아약스 양식을 제출하지 않습니다.
jQuery를
var form = jQuery("#contact-form");
form.submit(function(e) {
e.preventDefault();
jQuery('#submit').attr("disabled", true);
jQuery.ajax({
url: '/process-contact.php',
type: 'POST',
data: form.serialize(),
dataType: 'json'
}).done(function(data) {
jQuery('#messages').removeClass();
if (data.code === 1) {
form[0].reset();
jQuery('#messages').addClass('alert alert-success');
jQuery('#submit').attr("disabled", false);
}
else {
jQuery('#messages').addClass('alert alert-danger');
jQuery('#submit').attr("disabled", false);
}
jQuery('#messages').html(data.message);
jQuery('html, body').animate({
scrollTop: jQuery("#messages").offset().top
}, 1000);
});
});
HTML
<form class="contactForm" id="contact-form" name="contact-form">
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-6 col-lg-6">
<div class="form-group">
<label for="name">Name</label>
<input class="form-control" id="name" name="name" placeholder="Your Name" type="text">
</div>
<div class="form-group">
<label for="email">Email Address</label>
<input class="form-control" id="email" name="email" placeholder="Your Email" type="text">
</div>
<div class="form-group">
<label for="subject">Subject</label>
<input class="form-control" id="subject" name="subject" placeholder="Subject" type="text">
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-6 col-lg-6">
<div class="form-group">
<label for="name">Message</label>
<textarea class="form-control" name="message" placeholder="Message"></textarea>
</div>
</div>
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
<button class="btn btn-skin pull-right" name="submit" id="submit" type="submit">Send Message</button>
</div>
</div>
</form>
을 클릭 제거? * 표시된 코드가 아닙니다. –
데이터를 console.log하고 여기에있는 내용을 볼 수 있습니다. 오류는 JS에서가 아니라 양식 처리에 있습니다. – niorad
@JaromandaX 해당 형식의 div 위의
은 여기에서 오류/성공 메시지가 – user7723458