2016-04-05 15 views
0

ich diesen HTML-Formular Code bekam:Benutzerdefinierte Ajax Mail-Formular senden

 <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> 

und die entsprechenden jQuery-Code, den ich denke, dass es die Informationen sendet:

// 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(); 
    }); 
}); 

Wenn ich die Form ich nichts habe einreichen in meinem Webmail. Kann jemand das Problem erkennen?

Dank

+1

In den Debugging-Tools Ihres Browsers wird die AJAX-Anfrage gestellt? Hat es die Daten, die Sie erwarten? Wie lautet die Antwort des Servers? Ich sehe nicht wirklich, wo im Code tatsächlich Daten an den Server gesendet werden. Sie haben auch keinen serverseitigen Code angegeben, der tatsächlich eine E-Mail sendet ... – David

Antwort

0

Nun sollten Sie mich Ihnen Ajax haben gesagt verwenden möchten. So sollten Sie dies tun:

In jour 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(); 
    }); 
}); 

und in Ihrem HTML lassen, wie es ist.

Sag mir, wenn es geholfen hat.