-1

This is my javascirpt code

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(6000).fadeOut();
    });
});

I am not getting the field values post function is unable to fetch it

Barmar
  • 741,623
  • 53
  • 500
  • 612

3 Answers3

0

Try setting the method to be "POST" and data in $.ajax, like this:

$.ajax({
    method: "POST",
    data: form.serialize(),
    etc...

Also, it would help to see your PHP file.

brimstone
  • 3,370
  • 3
  • 28
  • 49
0
<div class="contact-form wow fadeIn" data-wow-duration="1000ms" data-wow-delay="600ms">
      <div class="row">
        <div class="col-sm-6">
          <form id="main-contact-form" name="contact-form" method="post" action="sendemail.php">
            <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="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="required">
                </div>
              </div>
            </div>
            <div class="form-group">
              <input type="text" id="subject" name="subject" class="form-control" placeholder="Subject" required="required">
            </div>
            <div class="form-group">
              <textarea name="message" id="message" class="form-control" rows="4" placeholder="Enter your message" required="required"></textarea>
            </div>                        
            <div class="form-group">
              <button type="submit" class="btn-submit">Send Now</button>
            </div>
          </form>   
        </div>

This is my html code

Matthew R.
  • 4,332
  • 1
  • 24
  • 39
0

It seems like you're just sending an empty ajax request. You will need a method and the form data to send, for example:

$.ajax({
    url: $(this).attr('action'),
    type: 'post',
    dataType: 'json', // <-- not sure if about this
    data: form.serialize(),
beforeSend: function(){
    ...

Also see Submit a form using jQuery

Community
  • 1
  • 1
arkuuu
  • 619
  • 7
  • 23