$('form[id="order_form"]').on('submit', function() {
let $row = $(this).closest('form');
let data = $row.find('input, select, textarea').serialize();
$.ajax({
type: "POST",
url: "order_form.php",
data: data
}).done(function() {
alert("Успешно!");
});
return false;
});
Попробуйте так.
Но вам нужно вашу кнопку, которая сабмитит форму, занести внутрь тега , иначе никогда у вас ничего работать не будет.
Кроме того, посмотрите в dev tools (F12) - вкладка Network, какие данные и в каком виде у вас отправляются после изменений.
Затем сам php... Вы его брали откуда-то уже готовый или сами так написали?
Для начала объявляете переменные каждому передаваемому параметру.
if (isset($_POST['formData'])){
$name = strip_tags(trim($_POST['user_name']));
$phone = preg_replace("/[^+0-9]/s", "", strip_tags(trim($_POST['user_phone'])));
...
}
Кроме того, в таком виде, как у вас, на почту будет приходить просто текст "Отправитель: $user_name".
Чтобы внести значение переменной нужно делать так:
$message.= 'Отправитель: ' . $user_name . '<br>
Телефон: ' . $user_phone . '<br>
Почта: ' . $user_email . '<br>
Сообщение: ' . $user_message . '<br>
Тип дома: ' . $type_hause . '<br>"
Опции: ' . $options . '<br>';
Попробуйте так и напишите, что у вас в дев тулс отображается. Но по хорошему бы то, что у вас в php, надо бы переписать с нуля, ибо я сомневаюсь, что там что-то заработает, если вы в этом не разбираетесь.
Посмотрите более простой
пример
Ещё косяк нашёл. Когда добавите кнопку внутрь тега форм, пропишите кнопке type="submit", иначе она не будет по нажатию сабмит формы делать.