1

我正在尝试编写一个简单的计算器 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> 

添加.php

     <?php 
        $num1 = $_GET["num1"];
        $num2 = $_GET['num2'];
        $sum = $num1+$num2;
        //echo "$num1 + $num2 = $sum";

        document.getElementById("SumTotalTxtBx").value = $sum;
    ?>
4

4 回答 4

8

你不能像那样混合 PHP 和 JavaScript!一个在服务器上运行,另一个在客户端上运行。

您必须像这样将值回显到文本框的 value 属性中

<input type="text" value="<?PHP echo $sum; ?>" />
于 2012-07-10T13:38:14.943 回答
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 非常简单,在客户端编写任何东西时都非常棒。如果您想了解更多信息,我建议您在 w3schools 阅读有关 javascript 的内容!我希望这有帮助!

于 2012-07-10T13:48:05.263 回答
0

您在这里混合了 PHP 和 Javascript,返回到 PHP 手册: http: //php.net/manual并阅读 php 如何工作以及如何与用户交互。

Javascript 基本上在客户端运行,而 PHP 在服务器上运行。你请求 php 一些东西,它会为你返回一个新的 HTML 页面。

话虽如此,它的主题太宽泛,无法帮助您解决错误。

祝你好运

于 2012-07-10T13:38:09.143 回答
0

使用jQuery,您无需像这样在服务器上进行回发即可解决它

var num1 = parseInt($("input:text[name='num1']"));
var num2 = parseInt($("input:text[name='num2']"));
$('input:text#SumTotalTxtBx').val(num1+num2);
于 2012-07-10T13:41:29.327 回答