Calculate the value using JavaScript and send to PHP
本问题已经有最佳答案,请猛点这里访问。
目前我正在使用3个不同的页面,分别是HTML,JavaScript和PHP。 我已经输入了,我可以使用JavaScript计算
但我有这个问题:如何将计算值发送到PHP页面?
HTML:
1 2 3 4 5 6 7 | number of people:<input id="quantity" name="quantity" size='5'></input> Price:<input type='hidden' id='price' name='price' value='755'></input> <button type="button" onclick="sum()">calculate</button> <p id='result' name='result'> </p> |
JS:
1 2 3 4 5 6 7 8 9 10 | function sum() { var quantity = parseInt(document.getElementById('quantity').value); var price = parseInt(document.getElementById('price').value); var total = price * quantity; document.getElementById('result').innerHTML = total; document.getElementById('result').value = total; } |
PHP:
1 2 3 4 5 | <?php $total = $_POST['result']; echo"price :".$total."<br/>"; ?> |
我无法获得价值。 请帮忙。 谢谢。
尝试使用表单或Ajax发送requset。希尔就是一个例子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | <?php if($_POST['result']){ $total = $_POST['result']; echo"price :".$total."<br/>"; } ?> number of people: <input id="quantity" name="quantity" size='5'> Price: <input type='hidden' id='price' name='price' value='755'> <button type="button" onclick="sum()">calculate</button> <p id='result' name='result'> </p> function sum() { var quantity = parseInt(document.getElementById('quantity').value); var price = parseInt(document.getElementById('price').value); var total = price * quantity; document.getElementById('result').innerHTML=total; document.getElementById('result').value=total; //Ajax var http = new XMLHttpRequest(); var url ="test2.php" ; var params ="result="+total; http.open("POST",url, true); //Send the proper header information along with the request http.setRequestHeader("Content-type","application/x-www-form-urlencoded"); http.send(params); } |
您可以将结果存储在同一表单的隐藏字段中。这样,当表单发送时,它将随身携带您的计算。隐藏字段将如下所示:
1 | <input type='hidden' id='result' name='result'></input> |
id部分将从
1 | document.getElementById('result').value=total; |
名称部分将设置PHP程序要检索的字段的名称。
确保您的HTML具有指向PHP的有效表单定义。
查看KhorneHoly和Kevin Kloet提供的链接
根据您的代码,您忘记在HTML中使用元素"form",这将允许您将数据发送到PHP页面
编辑:我同意Javier Elices,您必须在表单元素中添加一个输入,以将该值发送到POST页面。该输入可以隐藏,您可以从javascript函数中分配值
尝试使用隐藏的表单和输入类型(从myPhp.php更改php文件名):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> test </head> <body> <form action="./myPhp.php" method="post"> number of people: <input id="quantity" name="quantity" size='5'></input> Price: <input type='hidden' id='price' name='price' value='755'></input> <button type="button" onclick="sum()">calculate</button> <input type="hidden" id='result' name="result"> <input type="submit" value="Submit"> </form> function sum() { var quantity = parseInt(document.getElementById('quantity').value); var price = parseInt(document.getElementById('price').value); var total = price * quantity; document.getElementById('result').innerHTML=total; document.getElementById('result').value=total; } </body> </html> |