Есть такая форма с javascriptoм
<script>
$(document).ready(function(){
$('.calc select').change(function(){
$country = $('select#choose-country').val();
if ($country == 'austria') {
$koef = 1;
}
if ($country == 'great-britain') {
$koef = 2;
}
if ($country == 'nederland') {
$koef = 3;
}
$totalprice = $koef * 100;
$('#price').text($totalprice);
})
</script>
<section id="main">
<form method="post" id="ajax_form" action="" >
<select class="form-control" name="country" id="choose-country">
<option value="austria">Австрия</option>
<option value="great-britain">Великобритания</option>
<option value="nederland">Голландия</option>
</select>
<div class="price-final">
<h5>Цена зависит от страны</h5>
<span name="price" id="price">0</span>EUR</div>
<button id="calc-price" type="button" class="btn-warning">Посчитать</button>
<button id="send-price-to-us" type="submit" class="btn-success">Выслать нам заявку</button>
</form>
</section>
После этого я посылаю данные с помощью Ajax вот так
<script src="https://какой-то.сайт/calc-price/email.js"></script>
$(document).ready(function() {
$("#ajax_form").submit(function() {
$.ajax({
type: "POST",
url: "/calc-price/e-mail-form/send-form1.php",
data: $(this).serialize()
}).done(function() {
$(this).find("input, span").val("");
alert("Спасибо за заявку! Скоро мы с вами свяжемся.");
$("#ajax_form").trigger("reset");
});
return false;
});
});
Дальше код класса по отправке имейла выглядит вот так
<?php
$recepient = "myemail@gmail.com";
$sitename = "mypage";
$country = trim($_POST["country"]);
$price = trim($_POST["totalprice"]);
$key_to_txt = array('austria' => 'Австрия');
Теперь вопрос: Проблемма в том что мне не приходит переменная $price, тоесть она считается в форме но мне не приходит. И Названия стран приходят тоже только на латыни. Как мне решить проблемму с переводом и с вытягиванием результата с формы?
Элемент с name="price" должен быть элементом формы, например input. Если требуется чтобы него нельзя было редактировать тогда использовать readonly. Также можно его свертать так что это будет как обычный текст. Ну или на худой конец держать span и hidden input.
Спасибо за советы. Добавил возле значения скрытый input
<input name="emailprice" id='price' class='hidden' value=''>
Передал в value переменную дописав строку кода
$('#price').val($totalprice);
И дописал в php строку кода
$price = trim($_POST["emailprice"])
Все работает. Спасибо за советы.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Такая проблема - у меня есть шаблон записи на сайте ВП, когда я создаю новую запись и в свойствах записи применяю этот шаблон, после этого сохраняю...