2012-07-14 87 views
-1

编辑:我有两个文件,一个是HTML,另一个是PHP脚本。我正在制作一个简单的计算器。在我的HTML中,我有一个包含4个文本框的简单表单。 第一个文本框是有一个数字。 第二个文本框是要执行的操作。 第三个文本框是第二个数字。 第四个文本框是答案。 当用户点击计算按钮时,动作属性将HTML重定向到执行所有算法的PHP脚本。我希望PHP脚本将答案返回到我的HTML表单中的第四个文本框。从PHP返回一个值到HTML

我该怎么做?

这是我的HTML代码。

<!DOCTYPE html> 
<html> 
<head> 
<meta name = "description" content = "This is a home page"/> 
<meta name = "author" content = "William Salazar" /> 
<meta name = "keywords" content = "exercise for home page"/> 
<title>Calculator</title> 
</head> 
<body> 
    <fieldset> 
     <legend>Calculator</legend> 
     <form action = "calculate.php" method = "post"> 
      Please type in two numbers and an operation (ex: 2 + 3)<br/> 
      <input type = "text" name = "fNum" size = "2"/> 
      <input type = "text" name = "op" size = "2"/> 
      <input type = "text" name = "sNum" size = "2"/>= 
     <input type = "text" name = "ans" size = "2" readonly = "read" value = "<?php echo htmlspecialchars($ans);?>"/> 
      <br/><br/> 
      <input type = "submit" value = "Calculate"/> 
     </form> 
    </fieldset> 
</body> 
</html> 

这是我的PHP脚本代码。

<?php 
function addition() 
{ 

    $sum = (float)$_POST['fNum'] + (float)$_POST['sNum']; 
    $_POST['ans'] = (string)$sum; 
    "<form action ='CalculatorForm.php' method = 'post'>" 
    "</form>" 
} 


    switch($_POST['op']) 
    { 
     case '+':   
      addition();   
     break; 
     case '-': 
      subtraction(); 
     break; 
     case '*': 
      multiplication(); 
     break; 
     case '/': 
      division();  
     break; 
     case '^': 
      power(); 
     break; 
     default: 
     break; 
    } 

?> 

当然,我还没有完成其他功能。我最初试图测试我的附加功能,如果工作,我将复制和粘贴代码。

+3

代替php,在这里使用javascript是可取的。 – hjpotter92 2012-07-14 06:45:16

+1

如果您使用php并且不要正确清理脚本,它将不会很长,直到您的站点主机为邮件订单新娘和网站添加了免费表情图标。 – Cleverbot 2012-07-14 06:49:43

+1

如果这是一项家庭作业,并且您需要使用PHP和简单表单提交来进行计算,那么请继续,否则,请使用AJAX或JS来进行计算。 – 2012-07-14 07:43:21

回答

1

使用AJAX将数据从HTML发送到PHP并返回。
另外,你可以使用Javascript做所有计算。

+1

我知道这可以用JavaScript来完成。我想我也很容易,但我想使用HTML和PHP。其他一切都很简单,只是将信息发回给我,而我却遇到了麻烦。 – binMind 2012-07-21 01:38:22

0

如果这是一个家庭作业问题,那么继续使用您的代码,否则使用AJAX或JAVASCRIPT解决方案。

一些小技巧,如果你想继续使用经典的形式提交的解决方案:

  • 使用一个页面显示和计算,说calculator.php
  • 将您的表单操作设置为同一页面,即calculator.php或删除操作以调用同一页面。
  • 提交后,按上面所做的那样进行计算,将结果传递给$ans,因为您使用此var来呈现您的表单。
  • 如果仍有问题,请返回此处。
+0

“AJAX或JAVASCRIPT解决方案” - 老兄,AJAX和JS都是一样的东西.. JS是一种语言,AJAX是一种技术。 – 2012-07-14 15:43:51

+0

@PaulDenisevich Ajax是一种技术组合,JS是单一语言,我知道他们的差异,我可以给你发我的简历,如果你想。 – 2012-07-14 17:38:36