@jake2016

Как переменную js вывести в $_POST, в форме?

Вот код html:
<div class="block">
  <div class="t">Усього:</div>
  <div class="t2" >грн.</div>
  <div class="t1" id="total">0</div>
  </div>
               
  <div class="i"><input type="checkbox" class="check" name="check" id="checkbox1">Я ознайомлений(-а) з умовами прийому приватних оголошень у газету "Токмацька гривня"</div>
  <div class="s">
    <div class="but">
    <input type="submit" class="submit" id="button" value="Отправить" disabled="disabled">
  </div>
</div>
  </form>
  <script>
var symb = 0;
var ammount =75;
var symbleft = 0;
var price =0;
var price1 = 0;
var price2 = 0;
var price_mult = 0;
function ammrel () {
 symb = $("#main").val().length;
 symbleft = ammount - symb;;
 $("#amm").text(symbleft);
 };
 function radio1 () {
 if ($('input[name=ammount]:checked').val() == "low") {
  $("#main").attr ("maxlength","75");
  ammount = 75;
  price1 = 10;
}
else {
$("#main").attr ("maxlength","150");
ammount = 150;
price1 = 20;
  };
  ammrel ();
 };
 function radio2 () {
 if ($('input[name=func]:checked').val() == "nol") {price2 = 0;}
 else {price2 = 4;};
};
function vihod () {
price_mult = $("#vihod").val();
};
 function tot () {
 price =(price1+price2)*price_mult;
 $("#total").text(price);
 };
 function check1 () {
 if ($('#checkbox1').is(':checked')){
    $("#button").removeAttr('disabled');
} else {
    $("#button").attr("disabled","disabled");
}
};
$(document).keyup (function () { ammrel (); vihod (); tot ()  });
$(document).click (function () { radio1 (); radio2 (); tot ();check1 (); });
</script>


Вот код PHP:
<?php 

require_once('phpmailer/PHPMailerAutoload.php');
$mail = new PHPMailer;
$mail->CharSet = 'utf-8';

$name = $_POST['name'];
$phone = $_POST['phone'];
$rub = $_POST['rub'];
$text1 = $_POST['text1'];
$text2 = $_POST['text2'];
$phone2 = $_POST['phone2'];
$func = $_POST['func'];
$num = $_POST['num'];
$price = $_POST['price'];


//$mail->SMTPDebug = 3;                               // Enable verbose debug output

$mail->isSMTP();                                      // Set mailer to use SMTP
$mail->Host = 'smtp.gmail.com';  																							// Specify main and backup SMTP servers
$mail->SMTPAuth = true;                               // Enable SMTP authentication
$mail->Username = 'webmasteryasha@gmail.com'; // Ваш логин от почты с которой будут отправляться письма
$mail->Password = ''; // Ваш пароль от почты с которой будут отправляться письма
$mail->SMTPSecure = 'ssl';                            // Enable TLS encryption, `ssl` also accepted
$mail->Port = 465; // TCP port to connect to / этот порт может отличаться у других провайдеров

$mail->setFrom('webmasteryasha@gmail.com'); // от кого будет уходить письмо?
$mail->addAddress('yakovserebrianskyi@gmail.com');     // Кому будет уходить письмо 
//$mail->addAddress('ellen@example.com');               // Name is optional
//$mail->addReplyTo('info@example.com', 'Information');
//$mail->addCC('cc@example.com');
//$mail->addBCC('bcc@example.com');
//$mail->addAttachment('/var/tmp/file.tar.gz');         // Add attachments
//$mail->addAttachment('/tmp/image.jpg', 'new.jpg');    // Optional name
$mail->isHTML(true);                                  // Set email format to HTML

$mail->Subject = 'Заявка с тестового сайта';
$mail->Body    = 'Имя: ' .$name. '<br>Рубрика: ' .$rub. '<br>Текст объявления до 75 символов: ' .$text1. '<br>Текст объявления больше 75 символов: ' .$text2. '<br>Телефон 1: ' .$phone. '<br>Телефон 1: ' .$phone2. '<br>Выделить: ' .$func. '<br>Количество выходов: ' .$num. '<br>Сумма: ' .$price;
$mail->AltBody = '';

if(!$mail->send()) {
    echo 'Error';
} else {
    header('location: thank-you.html');
}
?>


Нужно чтобы переменная price, которая выводит результат формулы, можно было вывести в $_POST php и отправить в письме на почту.
5c02a35954ebb672699132.png
  • Вопрос задан
  • 338 просмотров
Пригласить эксперта
Ответы на вопрос 2
@DanKud
Можно добавить скрытое поле в форму и присвоить ему значение price:

.....
<input type="hidden" id="hidden" name="totalPrice">
.....

.....
$("#hidden").val(price);
.....
Ответ написан
iLegion
@iLegion
Web Developer
Пример с использованием AJAX:
<form action="/" id="searchForm">
  <input type="text" name="s" placeholder="Search...">
  <input type="submit" value="Search">
</form>
<!-- выводит результат в этот блок -->
<div id="result"></div>
 
<script>
$( "#searchForm" ).submit(function( event ) {
 
  event.preventDefault();
 
  // Получение значений формы
  var $form = $( this ),
    term = $form.find( "input[name='s']" ).val(),
    url = $form.attr( "action" );
 
  // Отправит данные с помощью post-запроса
  var posting = $.post( url, { s: term } );
 
  // Отправить данные в div с id="result"
  posting.done(function( data ) {
    var content = $( data ).find( "#content" );
    $( "#result" ).empty().append( content );
  });
});
</script>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы