新手求教,php编写简单计算器,功能实现不了,不知道错在哪了

**页面**<html><head><metahttp-equiv="type-content"content="text/htmlcharset=utf-8"/><sc... **页面**
<html>
<head>
<meta http-equiv="type-content" content="text/html charset=utf-8"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#dengyu").click(function(){
$ajax({
type:"POST",
url:"http://localhost/myfile/Pro3/j2.php",
dataType: "json",
data:{num1:$("#n1").val(),
num2:$("#n2").val(),
op:$("select option:selected").val()}
success:function($res){
$("#res").html($res);
}
});
});
});
</script>
</head>
<body>
<div>
num1<input id="n1" type="text" name="num1" ><br/>
num2<input id="n2" type="text" name="num2" ><br/>
<select>
<option id="add">+</option>
<option id="minus">-</option>
<option id="multiply">*</option>
<option id="div">/</option>
<input id="dengyu" type="button" value="="/>
res<input id="res" type="text"/>
</select>
</div>
</body>
</html>
*****PHP******
<?php
header("Content-Type: text/html;charset=utf-8");
header("Cache-Control: no-cache");
$num1=$_POST['num1'];
$num2=$_POST['num2'];
$op=$_POST['op'];
$res=0;
switch ($op){
case "+":
$res=$num1+$num2;
break;
case "-":
$res=$num1-$num2;
break;
case "*":
$res=$num1*$num2;
break;
case "/":
$res=$num1/$num2;
break;
default:
break;
}
echo $res;
?>
展开
 我来答
莫路草根
推荐于2016-07-23 · TA获得超过4102个赞
知道大有可为答主
回答量:4184
采纳率:85%
帮助的人:1040万
展开全部

这是html代码:

<html>
<head>
<meta http-equiv="type-content" content="text/html charset=utf-8"/>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">
$("#dengyu").live('click',function(){
$.ajax({
   type: "POST",
   url: "ajax.php",
   data: "num1="+$("#n1").val()+"&num2="+$("#n2").val()+"&op="+$("#yunsuan").val(),
   success: function(msg){
$("#res").val(msg);
   }
});
})
</script>
</head>
<body>
<div>
num1<input id="n1" type="text" name="num1" ><br/>
num2<input id="n2" type="text" name="num2" ><br/>
<select id="yunsuan">
<option id="add" value="1">+</option>
<option id="minus" value="2">-</option>
<option id="multiply" value="3">*</option>
<option id="div" value="4">/</option>
<input id="dengyu" type="button"  value="="/>
res<input id="res" type="text"/>
</select>
</div>
</body>
</html>

这是php代码:

<?php 
header("Content-Type: text/html;charset=utf-8");
header("Cache-Control: no-cache");
if($_POST)
{
$num1=$_POST['num1'];
$num2=$_POST['num2'];
$op=$_POST['op'];
$res=0;
switch ($op){
case 1:
$res=$num1+$num2;
break;
case 2:
$res=$num1-$num2;
break;
case 3:
$res=$num1*$num2;
break;
case 4:
$res=$num1/$num2;
break;
default:
break;           
}
  echo  $res;
}
?>

这是截图:


你的代码有很多处错误。

1. jquery的ajax方法就没写完整,这个方法最好是复制过来,自己写会容易出错。

2. select下拉框你不会用。select 这里加个id,而不是在他的子集option加。

3. php 页面最好加个$_POST不为空的判断。

4. case 这里最好用数字区分,或者字母,你用特殊字符的话容易造成系统无法判断。

最后推荐你用火狐浏览器,这是网页编程人员必备的,在火狐添加一个firebug插件,这个能直接看出你的js哪里出错。非常方便

wosshui2005
2015-04-02
知道答主
回答量:18
采纳率:0%
帮助的人:3.7万
展开全部
data:{num1:$("#n1").val(),
num2:$("#n2").val(),
op:$("select option:selected").val()} 感觉是这里出了问题,
1、最后应该有个逗号

2、应该是 "num1":$("#n1").val(),
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式