将HTML函数转换为PHP脚本。 (两个选择值相乘)
问题描述:
我的工作是将以下JavaScript函数转换为PHP并显示正确的结果。你如何使用PHP来乘以NumA和NumB选择选项的两个值?折扣必须显示在折扣输入框中,以及总输入框中的总计。我在创建一个PHP脚本时遇到了困难,该脚本将两个选定的值相乘并将它们相乘,同时在下面的框中显示两个结果。将HTML函数转换为PHP脚本。 (两个选择值相乘)
这是我需要转换为PHP的函数的HTML代码。
<!DOCTYPE html>
<html>
<head>
<title>
</title>
<script>
var numA = 0;
function totalA(valA) {
if (valA) {
numA = Number(valA);}
var disc = numB*numA;
var totalCost = (numA - disc);
document.getElementById("total").value = "$" + totalCost.toFixed(2);
document.getElementById("discount").value = "$" + disc.toFixed(2);}
var numB = 0;
function totalB(valB) {
if (valB) {
numB = Number(valB);}
var disc = numB*numA;
var totalCost = (numA - disc);
document.getElementById("total").value = "$" + totalCost.toFixed(2);
document.getElementById("discount").value = "$" + disc.toFixed(2);}
</script>
</head>
<div align="center">
<br>
<form name id="Main">
<select id="numA" placeholder="Please select a service" onchange="totalA(this.value);">
<option value="" disabled selected>Select your service</option>
<option value="125">Makeover</option>
<option value="60">Hair Styling</option>
<option value="35">Manicure</option>
<option value="200">Permanent Makeup</option>
</select>
<br><br>
<select id="NumB" placeholder="Please select the discount" onchange="totalB(this.value);">
<option value="" disabled selected>Select the discount</option>
<option value="0">0%</option>
<option value=".1">10%</option>
<option value=".2">20%</option>
</select>
<br><br>
<td>Discount Coupon: <input id="discount" name="showTotal" type="text" value="$0.00" size="10" readonly/></td>
<td>Grand Total: <input id="total" name="showTotal" type="text" value="$0.00" size="10" readonly=""/></td>
<br><br>
</form>
<hr>
</div>
</html>
答
首先更新您的形式:
<form action="" method="post">
<select name="service" id="service" placeholder="Please select a service">
<option value="" disabled selected>Select your service</option>
<option value="125">Makeover</option>
<option value="60">Hair Styling</option>
<option value="35">Manicure</option>
<option value="200">Permanent Makeup</option>
</select>
<br><br>
<select name="discount" id="discount" placeholder="Please select the discount">
<option value="" disabled selected>Select the discount</option>
<option value="0">0%</option>
<option value=".1">10%</option>
<option value=".2">20%</option>
</select>
<br><br>
<button type="submit">Calculate</button>
</form>
处理表单提交的PHP(计算总成本&优惠):
<?php
$service = isset($_POST['service']) ? $_POST['service'] : 0;
$discount = isset($_POST['discount']) ? $_POST['discount'] : 0;
$total_discount = number_format($discount * $service, 2);
$total_cost = number_format($service - $total_discount, 2);
?>
最后,显示总成本&优惠:
<p>Discount Coupon: <input id="discount" type="text" value="$<?php echo $total_discount; ?>"/></p>
<p>Grand Total: <input id="total" type="text" value="$<?php echo $total_cost; ?>"/></p>
+0
你有没有得到它与这个解决方案? – lizardwizard
+0
是的,完整的代码在这里:http://pastebin.com/kwv7exSG – xcvd
您尝试过哪些PHP? – j08691
@ j08691我试过对两个变量进行索引并使用$ result变量将它们相乘。我不确定如何让结果正确显示。 – lizardwizard
(javascript)** 1 **使用FormData对象收集表单的数据。 ** 2 **使用AJAX将formdata提交给php文件。 (PHP)** 3 **检索传递给php的变量,并对它们进行计算。 ** 4 **打印结果。 (javascript)** 5 **获取ajax调用的responseText(如果成功)** 6 **将检索到的文本复制到正确的输出元素。 – enhzflep