[英]How to pass div value to php
我需要通过id="monthlyPayment"
将div的值传递给php,并在js端填充输入和计算后取值,并将其发送到电子邮件。 我试图用AJAX和DOM来做,但是我有一点经验,所以没有用,也许有人可以帮我!
function credit() {
var loanTerm = document.getElementById('loanTerm').value * 12;
var interestRate = 0.09858333;
var creditSum = document.getElementById('carPrice').value - document.getElementById('anInitialFee').value;
var monthlyPayment = (parseFloat(creditSum) * parseFloat(interestRate) / (1 - Math.pow(1 + parseFloat(interestRate), -loanTerm))).toFixed(2);
document.getElementById('monthlyPayment').innerHTML = "Ваш ежемесячный платеж: " + monthlyPayment;
document.getElementById('sent').style.visibility = "visible";
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<script src="functions.js"></script>
<script src="jquery-3.2.1.slim.js"></script>
<title></title>
</head>
<body>
<form action="mail_sender.php" method="post">
<input type="text" id="firstName" name="firstName" value="" placeholder="укажите ваше имя"><br>
<input type="email" id="email" name="email" value="" placeholder="укажите ваш email"><br>
<input type="tel" id="phone" name="phone" value="" placeholder="укажите ваш телефон"><br>
<input type="text" id="carPrice" name="carPrice" value="" placeholder="укажите цену автомобиля"><br>
<input type="text" id="anInitialFee" name="anInitialFee" value="" placeholder="укажите первоначальный взнос"><br>
<input type="text" id="loanTerm" name="loanTerm" value="" placeholder="укажите срок кредита"><br>
<div id="monthlyPayment"></div>
<button id="sent" style="visibility:hidden;">Send to email?</button>
</form>
<button id="credit" onClick="credit();">Calculate</button>
</body>
</html>
<?php
$recipient = $_POST['email'];
$subject = "Письмо с сайта";
$name = $_POST['firstName'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$carPrice = $_POST['carPrice'];
$anInitialFee = $_POST['anInitialFee'];
$loanTerm = $_POST['loanTerm'];
$monthlyPayment = $_POST['monthlyPayment'];
$mailBody = "Имя: $name \n Email: $email \n Телефон: $phone \n Цена автомобиля: $carPrice \n Первоначальный взнос: $anInitialFee \n Срок кредита: $loanTerm \n Ежемесячный платеж: ";
mail($recipient, $subject, $mailBody);
echo "Mail sent.";
?>
monthlyPayment
是一个div元素,而不是一个form元素,因此不会与$ _POST数据一起传递。
将<div>
更改为<div>
<input>
,您将可以在$_POST['monthlyPayment']
。
在输入中添加一个readonly
属性,用户将(通常)无法对其进行编辑。
您可以将其设为隐藏的输入字段。 我想您不希望将其显示给用户,因此代码是
<input name="monthlyPayment" id="monthlyPayment" style="display: none;" disabled>
但是请记住,用户可以随时对此进行修改。 因此,在PHP中接收数据时, 切勿信任用户输入 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.