Javascript 试图通过ajax提交表单操作,未定义
我有以下代码,它为Javascript 试图通过ajax提交表单操作,未定义,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有以下代码,它为.prop('action') 我不太清楚为什么 有什么想法吗 $(function() { $('#generalContactForm').submit(function(event) { var formEl = this; var submitButton = $('input[type=submit]', formEl); var formData
.prop('action')
我不太清楚为什么
有什么想法吗
$(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();
});
});
您应该在jquery对象上调用该函数
$(formEl).prop('action')
使用formEl.attr('action')代替prop。仍然会得到相同的错误。请参阅链接为什么不使用$(formEl).serialize()?serialize也这样做。似乎有用