Во-первых, при добавлении каждой новой формы ты будешь открывать скрипт и кидать в $() новый идентификатор. Удобно?
Во-вторых ^*%^$^*&WTF - ты серьёзно решил для каждой формы писать отдельный php? Ну флаг в руки конешн...
В-треьих, тебе бы валидацию добавить, раз уж по сабмиту аяксишь, перед аяксом валидируй правильность заполнения полей, установи защиту от спама....
Как пример кину тебе небольшой скрипт ajax, который я применял в последнем проекте для валидации отправки номеров телефонов и мыл. Скрипт написан с учётом того что форм на странице может быть много.
var ajaxFastForms = function (){
var moduleName = 'fastform';
var fastform = $('.'+moduleName+':not(.'+moduleName+'--calltracker)');
fastform.submit(function(e){
e.preventDefault();
var thisForm = $(this),
thisSubmitter = thisForm.find('.'+moduleName+'__submit'),
thisField = thisForm.find('.'+moduleName+'__input'),
thisFieldValue = thisField.val(),
thisFieldSpamValue = thisForm.find('.'+moduleName+'__spamkiller').val();
if(thisFieldSpamValue === ''){
//если скрытое поле пусто
if(thisFieldValue != ''){ //если форма воода заполнена
var regNumber = new RegExp("^[0-9]{11}");
var regMail = new RegExp("^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$");
if( regMail.test(thisFieldValue) || regNumber.test(thisFieldValue)){
//если проходит тесты паттернов
var url = (typeof thisForm.attr("action") == 'undefined') ? "[[~[[*id]]]]" : thisForm.attr("action"); //берём урлу страницы, если таковая есть в action
//формируем запрос к серверу
$.ajax({
url: url,
type: 'POST',
data: thisForm.serialize(),
success: function(response){
notie.alert(1,'Форма успешно отправлена. Наши менеджеры свяжутся с вами в ближайшее время', 4);
}
}).fail(function(error){
console.log(error);
notie.alert(3, 'Возникла ошибка на сервере<br> Очистите кэш браузера, перезагрузите страницу и попробуйте снова', 5);
});
}else{//если не проходит тесты паттернов
notie.alert(2,'В форме содержатся ошибки.Проверьте правильность заполнения полей:<br> вводите номер только цифрами, например 89991112233',5);
}
}else{
//если Форма ввода не заполнена
notie.alert(2,'Форма ввода не заполнена',2.5);
};
}else{
//если скрытое поле заполнено
notie.alert(3,'Валидация на СПАМ не пройдена.<br>Перезагрузите страницу и попробуйте снова',2.5);
};
});
}
module.exports = ajaxFastForms;
Тут на самом то деле не всё гладко. Можно было switch case заюзать. Но я плохо с ними знаком
UPD
Там url может показаться странным - [[~[[*id]]]] - это ссылка на текущий документ в MODX. Просто backend на MODX и писал под него. На странице вызывается плагин отправки FormIt, следовательно и скрипт находится в моём случае по текущему адресу. В твоём случае лучше всего будет писать url php-скрипта в action формы и подхватывать его в url функции ajax.