关于传到PHP用PHP处理计算器和js做的计算器对比

来源:互联网 发布:软件可靠性 编辑:程序博客网 时间:2024/05/29 16:21

在js当中parseInt时传入一个字符串,然后返回一个整数

下面使用js写的简单计算器


<!DOCTYPE html>
<html>
 <head>
  <title> 事件</title>  
  <script type="text/javascript">
   function count(){
      var oTxt1 = document.getElementById('txt1').value;
      var oTxt2 = document.getElementById('txt2').value;
      var oSel = document.getElementById('select').value;   //这三个都是获取相应value值
      var result = " ";   //对result进行初始化
      switch(oSel){
          case "+": 
              result = parseInt(oTxt1) + parseInt(oTxt2);break;
              
          case "-": 
              result = parseInt(oTxt1) - parseInt(oTxt2);break;
          
          case "*": 
              result = parseInt(oTxt1) * parseInt(oTxt2);break;
          
          case "/": 
              result = parseInt(oTxt1) / parseInt(oTxt2);break;
      }
      document.getElementById('fruit').value = result;
    
    
   }
  </script> 
 </head> 
 <body>
   <input type='text' id='txt1' /> 
   <select id='select'>
<option value='+'>+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
   </select>
   <input type='text' id='txt2' /> 
   <input type='button' value=' = ' onclick="count()" /> <!--通过 = 按钮来调用创建的函数,得到结果--> 
   <input type='text' id='fruit' />   
 </body>
</html>







先说$_POST 

$_POST收集method=”post“中的值

$_POST 变量是一个数组,内容是由 HTTP POST 方法发送的变量名称和值。
$_POST 变量用于收集来自 method=”post” 的表单中的值。从带有 POST 方法的表单发送的信息,对任何人都是不可见的(不会显示在浏览器的地址栏),并且对发送信息的量也没有限制。

为什么使用它

通过 HTTP POST 发送的变量不会显示在 URL 中。
变量没有长度限制。
不过,由于变量不显示在 URL 中,所以无法把页面加入书签。

然后说一下html中form这个属性

功能:用于申请表单,定义数据范围,也就是<form>和</form>里面包含的数据将被提交到服务器或者电子邮件里

method=getpost指明提交表单的HTTP方法.可能的值为: postPOST方法在表单的主干包含名称/值对并且无需包含于action特性的URL. get:不赞成。GET方法把名称/值对加在actionURL后面并且把新的URL送至服务器.这是往前兼容的缺省值.这个值由于国际化的原因不赞成使用  

enctype=cdata指明用来把表单提交给服务器时(method值为"post")的互联网媒体形式.这个特性的缺省值是"application/x-www-form-urlencoded"   

TARGET="..."指定提交的结果文档显示的位置: _blank :在一个新的、无名浏览器窗口调入指定的文档; _self :在指向这个目标的元素的相同的框架中调入文档; _parent :把文档调入当前框的直接的父FRAMESET框中;这个值在当前框没有父框时等价于_self _top :把文档调入原来的最顶部的浏览器窗口中(因此取消所有其它框架);这个值等价于当前框没有你框时的_self.  


下面就是先写出来的简单布局

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>无标题</title>
</head>
<body>
<form name="form1" action="1.php" method="post">
<input type="text" size="5" name="n1">
<select name="op">
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
</select>
<input type="text" size="5" name="n2">
= ?
<input type="submit" value="计算" name="n3">
</form>
</body>
</html>



然后就是提交到PHP中开始运行

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-cn">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<title>网页标题</title>
<meta name="keywords" content="关键字列表" />
<meta name="description" content="网页描述" />
<link rel="stylesheet" type="text/css" href="" />
<style type="text/css"></style>
<script type="text/javascript"></script>
</head>
<body>
<?php
$n1 = (float)$_POST['n1'];//从表单获取的任何数据都是“字符串”类型
$n2 = (float)$_POST['n2'];
$fuhao = $_POST['op'];
if($fuhao == "+")
{
$re = $n1 + $n2;
}
else if($fuhao == "-")
{
$re = $n1 - $n2;
}
else if($fuhao == "*")
{
$re = $n1 * $n2;
}
else if($fuhao == "/")
{
$re = $n1 / $n2;
}


echo "结果为:$re";
?>
<input type="button" value="返回再算一个" onclick="goback()" />
<input type="button" value="返回再算一个2" onclick="history.back()" />
</body>
</html>
<script>
function goback(){
history.back();
//location.href="7jisuanqi.html";
//location.assign("7jisuanqi.html");
}
</script>

也就是这么几行代码的事情,只要是获取还要在熟悉

1 0
原创粉丝点击