В калькуляторе подсчитывается цена, но при передаче value скрытого inputa он передает начальное значение
<form enctype="multipart/form-data" method="post" id="form" onsubmit="send(event, '<?php echo get_template_directory_uri() ?>/send.php')">
....
<span class='price'>0 </span><span class='price__symbol'>₽</span>
<input type="hidden" name="i_price" value='' id='prices'>
</form>
Вот php отправитель
$telephone = $_POST['telephone'];
$price = $_POST['i_price'];
// Формирование самого письма
$title = "Заголовок письма";
$body = "<h2>Новое письмо</h2>
<b>Номер:</b> $telephone<br>
<b>Cтоимость:</b> $price<br>";
Вот отправка запроса на сервер
function send(event, php) {
console.log("Отправка запроса");
event.preventDefault ? event.preventDefault() : event.returnValue = false;
var req = new XMLHttpRequest();
req.open('POST', php, true);
req.onload = function () {
if (req.status >= 200 && req.status < 400) {
json = JSON.parse(this.response);
// ЗДЕСЬ УКАЗЫВАЕМ ДЕЙСТВИЯ В СЛУЧАЕ УСПЕХА ИЛИ НЕУДАЧИ
if (json.result == "success") {
// Если сообщение отправлено
alert("Сообщение отправлено");
} else {
// Если произошла ошибка
alert("Ошибка. Сообщение не отправлено");
}
// Если не удалось связаться с php файлом
} else { alert("Ошибка сервера. Номер: " + req.status); }
};
// Если не удалось отправить запрос. Стоит блок на хостинге
req.onerror = function () { alert("Ошибка отправки запроса"); };
req.send(new FormData(event.target));
}