下面的javascript代码执行不了,请高手帮忙看下,不胜感激!

来源:百度知道 编辑:UC知道 时间:2024/06/24 19:01:10
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jieduan5</title>
<script language="javascript" type="text/javascript">
function cal(a){
var i,j,k;
i = parseFloat(document.form1.textField1.value);
j = parseFloat(document.form1.textField2.value);
if(a == "+"){
k = i + j;
}else if(a == "-"){
k = i - j;
}else if(a == "*"){
k = i * j;
}else if(a == "/" && j != 0){
k = i

把 onclick="cal("+")" 改成
onclick="cal('+')" 类似的* - /都改
就可以了 我测试通过了

onclick="cal("-")"
这样写是有问题的,你这样写都相当于是
"cal(" - ")"
在""里面只能嵌套 '
下回出了问题一步步调试,加alert打印出来,一步步调试,提高自己的编码水平

js有内置的函数可以直接求表达式的值,不必你这么累的来判断,下面是我测试过的Cal(A)函数

function cal(a){
var i,j,k;
i = document.form1.textField1.value;
j = document.form1.textField2.value;

k = eval(i + a + j);
document.form1.textField3.value = k;
}

这样调用
onclick="cal(this.value)"