2017-09-13 12 views
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> 
+0

을 클릭 제거? * 표시된 코드가 아닙니다. –

+0

데이터를 console.log하고 여기에있는 내용을 볼 수 있습니다. 오류는 JS에서가 아니라 양식 처리에 있습니다. – niorad

+0

@JaromandaX 해당 형식의 div 위의

은 여기에서 오류/성공 메시지가 – user7723458

답변

0

각 후 클래스 alert-danger이`경고 경고 - danger` 상자에서 오는가

form.submit(function(e) { 
jQuery('#messages').removeClass('alert-danger'); 
........