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

**页面**
<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;
?>

这是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哪里出错。非常方便

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-04-02
data:{num1:$("#n1").val(),
num2:$("#n2").val(),
op:$("select option:selected").val()} 感觉是这里出了问题,
1、最后应该有个逗号

2、应该是 "num1":$("#n1").val(),

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网