2016-04-05 102 views
0

我得到這個HTML表單代碼:自定義AJAX發送郵件形式

 <form id="main-contact-form" name="contact-form"> 
      <div class="row wow fadeInUp" data-wow-duration="1000ms" data-wow-delay="300ms"> 
       <div class="col-sm-6"> 
       <div class="form-group"> 
        <input type="text" id="name" name="name" class="form-control" placeholder="Name" required> 
       </div> 
       </div> 
       <div class="col-sm-6"> 
       <div class="form-group"> 
        <input type="email" id="email" name="email" class="form-control" placeholder="Email Address" required> 
       </div> 
       </div> 
      </div> 
      <div class="form-group"> 
       <input type="text" id="subject" name="subject" class="form-control" placeholder="Subject" required> 
      </div> 
      <div class="form-group"> 
       <textarea name="message" id="message" class="form-control" rows="4" placeholder="Enter your message" required></textarea> 
      </div>       
      <div class="form-group"> 
       <button type="submit" class="btn-submit">Send Now</button> 
      </div> 
      </form> 

和相應的jQuery代碼,我認爲它發出的信息:

// Contact form 
var form = $('#main-contact-form');  
form.submit(function(event){ 
    event.preventDefault(); 

    var form_status = $('<div class="form_status"></div>'); 
    $.ajax({ 
     url: $(this).attr('action'), 
     beforeSend: function(){ 
      form.prepend(form_status.html('<p><i class="fa fa-spinner fa-spin"></i> Email is sending...</p>').fadeIn()); 
     } 
    }).done(function(data){ 
     form_status.html('<p class="text-success">Thank you for contact us. As early as possible we will contact you</p>').delay(3000).fadeOut(); 
    }); 
}); 

當我提交表單我啥都沒在我的webmail中。任何人都可以發現問題嗎?

謝謝

+1

在您的瀏覽器的調試工具中,是否發出了AJAX請求?它是否有你期望的數據?服務器的迴應是什麼?我沒有真正看到代碼中的任何數據實際上被髮送到服務器。您也沒有包含任何實際發送*電子郵件的服務器端代碼... – David

回答

0

那麼你應該告訴我你要使用ajax。所以,你應該這樣做:

在怨婦的jQuery:

// Contact form 
var form = $('#main-contact-form');  
form.submit(function(event){ 
    event.preventDefault(); 

    var name = $('#name').val(); 
    var subject = $('#subject').val(); 
    var email = $('#email').val(); 
    var message = $('#message').val();   

    var form_status = $('<div class="form_status"></div>'); 
    $.ajax({ 
     url: $(this).attr('action'), 
     type: 'POST', 
     data: {name: name, subject:subject, email:email, message:message }, 
     beforeSend: function(){ 
      form.prepend(form_status.html('<p><i class="fa fa-spinner fa-spin"></i> Email is sending...</p>').fadeIn()); 
     } 
    }).done(function(data){ 
     form_status.html('<p class="text-success">Thank you for contact us. As early as possible we will contact you</p>').delay(3000).fadeOut(); 
    }); 
}); 

,並在你的HTML離開它,因爲它是。

告訴我,如果它幫助。

相關問題