我正在尝试编写一个简单的计算器html页面,我在单独的文本框中要求两个数字,让用户单击一个按钮然后将结果存储到第三个文本框中。我正在尝试使用PHP来解决这个问题,但似乎无法以我想要的方式显示它。 回声线工作正常,但我不希望这样;
来自HTML
<form action="Add.php" method="get">
<input for='num1' type="text" name="num1" />
<input for='num2' type="text" name="num2" />
<input type="submit" value="Add Them" />
<input type="text" name="AnswerBx" id="SumTotalTxtBx"/>
</form>
Add.php
<?php
$num1 = $_GET["num1"];
$num2 = $_GET['num2'];
$sum = $num1+$num2;
//echo "$num1 + $num2 = $sum";
document.getElementById("SumTotalTxtBx").value = $sum;
?>
答案 0 :(得分:7)
你不能像这样混合PHP和JavaScript!一个在服务器上运行,另一个在客户端上运行。
您必须将值回显到文本框的value属性,如此
<input type="text" value="<?PHP echo $sum; ?>" />
答案 1 :(得分:0)
您正在混合使用PHP和Javascript,请返回PHP手册:http://php.net/manual并阅读php的工作原理并与用户进行交互。
当PHP在服务器上运行时,Javascript基本上在客户端运行。你需要php一些东西,它会为你返回一个新的HTML页面。
话虽如此,它是一个太广泛的主题,可以帮助您解决错误。
祝你好运答案 2 :(得分:0)
使用 jQuery ,您可以解决此问题,而无需在服务器上进行回复,而不是
var num1 = parseInt($("input:text[name='num1']"));
var num2 = parseInt($("input:text[name='num2']"));
$('input:text#SumTotalTxtBx').val(num1+num2);
答案 3 :(得分:0)
好的,所以PHP非常棒,但它的所有计算都是在服务器端执行的,而不是客户端。使用AJAX,你可以执行一些针对服务器的PHP代码,但我想你可能对你的计算器的javascript更感兴趣。
<html>
<head>
<script>
function calculateSum()
{
num1 = parseInt(document.getElementById("num1").value);
num2 = parseInt(document.getElementById("num2").value);
sum = num1 + num2;
document.getElementById("sum").innerHTML = sum;
}
</script>
<body>
<input id="num1" type="text"/><br/>
<input id="num2" type="text"/><br/>
<button onclick="calculateSum()">Submit!</button>
<span id="sum">..the sum is..</div>
</body>
</html>
Javascript非常简单,在客户端编程时非常棒。如果您想了解更多信息,我建议您阅读javascript over at w3schools!我希望有所帮助!!