新手求教,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;
?> 展开
<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;
?> 展开
2个回答
展开全部
这是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哪里出错。非常方便
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询