繁体   English   中英

如何将div值传递给php

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM