2014-10-29 69 views
1

我有下面的代码是专门针对.prop('action')试图通过AJAX提交表单操作,得到未定义

我不太清楚返回一个未定义的值,为什么

有什么想法?

$(function() { 
      $('#generalContactForm').submit(function(event) { 
       var formEl = this; 
       var submitButton = $('input[type=submit]', formEl); 
       var formData = { 
        'firstName'  : $('input[name=firstName]').val(), 
        'lastName'  : $('input[name=lastName]').val(), 
        'phoneNumber' : $('input[name=phoneNumber]').val(), 
        'email'   : $('input[name=email]').val(), 
        'numberofGuests': $('input[name=numberofGuests]').val(), 
        'eventType': $('input[name=eventType]').val(), 
        'alcohol': $('input[name=alcohol]').val(), 
        'contactTime': $('input[name=contactTime]').val(), 
        'eventDate': $('input[name=eventDate]').val(), 
        'contactTextarea': $('input[name=contactTextarea]').val(), 
       }; 

       $.ajax({ 
        type : 'POST', 
        url : formEl.prop('action'), 
        data : formData, 
        beforeSend: function() { 
         submitButton.prop('disabled', 'disabled'); 
        } 
       }).done(function(data) { 
        submitButton.prop('disabled', false); 
       }); 
       event.preventDefault(); 
      }); 
     }); 
+0

使用formEl.attr( '行动')的函数,而不是道具。 – Tyr 2014-10-29 22:56:20

+0

仍然相同的错误。请参阅链接http://g.recordit.co/Ss3x6mVTy3.gif – 2014-10-29 22:59:27

+0

为什么不使用$(formEl).serialize()? – 2014-10-29 22:59:45

回答

1

你应该叫一个jQuery对象

$(formEl).prop('action')