如何用它我的代码 但是每次出错
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>MyHtml.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=GB18030">
<!--<link rel="stylesheet" type="text/css" href="./styles.css">--> <script type="text/javascript">
var temp ;
function recevie(val){
alert("hello");
temp = val;
}
var numberAdd={
firstNum:document.getElementById('firstNum').value,
secondNum:document.getElementById('secondNum').value,
result:document.getElementById('result')
//jia:parseInt(numberAdd.firstNum)+parseInt(numberAdd.secondNum),
//jian:parseInt(numberAdd.firstNum)-parseInt(numberAdd.secondNum),
//cheng:parseInt(numberAdd.firstNum)*parseInt(numberAdd.secondNum),
//chu:parseInt(numberAdd.firstNum)/parseInt(numberAdd.secondNum)
};
function jiSuan(){
alert(numberAdd.firstNum);
}
/*
function jiSuan(){
if(temp=="+"){
numberAdd.result.value =numberAdd.jia;
return;
}
if(temp=="-"){
numberAdd.result.value =numberAdd.jian;
//numberAdd.result.value = parseInt(numberAdd.firstNum)-parseInt(numberAdd.secondNum);
//return;
}
if(temp=="*"){
numberAdd.result.value =numberAdd.cheng;
//numberAdd.result.value = parseInt(numberAdd.firstNum)*parseInt(numberAdd.secondNum);
//return;
}
if(temp=="/"){
numberAdd.result.value =numberAdd.chu;
//numberAdd.result.value = parseInt(numberAdd.firstNum)/parseInt(numberAdd.secondNum);
//return;
}
}
*/
</script> </head>
<body>
<input type="text" id="firstNum">
<select name="sel" id="sele" onChange="recevie(this.value);" >
<option>选择运算符</option>
<option value="+">+</option>
<option value="-" >-</option>
<option value="*" >*</option>
<option value="/">/</option>
</select>
<input type="text" id="secondNum"><input type="button" value="=" onclick="jiSuan();"><input type="text" readonly="readonly" id="result"><br/>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>MyHtml.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=GB18030">
<!--<link rel="stylesheet" type="text/css" href="./styles.css">--> <script type="text/javascript">
var temp ;
function recevie(val){
alert("hello");
temp = val;
}
var numberAdd={
firstNum:document.getElementById('firstNum').value,
secondNum:document.getElementById('secondNum').value,
result:document.getElementById('result')
//jia:parseInt(numberAdd.firstNum)+parseInt(numberAdd.secondNum),
//jian:parseInt(numberAdd.firstNum)-parseInt(numberAdd.secondNum),
//cheng:parseInt(numberAdd.firstNum)*parseInt(numberAdd.secondNum),
//chu:parseInt(numberAdd.firstNum)/parseInt(numberAdd.secondNum)
};
function jiSuan(){
alert(numberAdd.firstNum);
}
/*
function jiSuan(){
if(temp=="+"){
numberAdd.result.value =numberAdd.jia;
return;
}
if(temp=="-"){
numberAdd.result.value =numberAdd.jian;
//numberAdd.result.value = parseInt(numberAdd.firstNum)-parseInt(numberAdd.secondNum);
//return;
}
if(temp=="*"){
numberAdd.result.value =numberAdd.cheng;
//numberAdd.result.value = parseInt(numberAdd.firstNum)*parseInt(numberAdd.secondNum);
//return;
}
if(temp=="/"){
numberAdd.result.value =numberAdd.chu;
//numberAdd.result.value = parseInt(numberAdd.firstNum)/parseInt(numberAdd.secondNum);
//return;
}
}
*/
</script> </head>
<body>
<input type="text" id="firstNum">
<select name="sel" id="sele" onChange="recevie(this.value);" >
<option>选择运算符</option>
<option value="+">+</option>
<option value="-" >-</option>
<option value="*" >*</option>
<option value="/">/</option>
</select>
<input type="text" id="secondNum"><input type="button" value="=" onclick="jiSuan();"><input type="text" readonly="readonly" id="result"><br/>
</body>
</html>
numberAdd.firstNum = document.getElementById('firstNum').value;
var numberAdd={
firstNum:document.getElementById('firstNum').value,
secondNum:document.getElementById('secondNum').value,
result:document.getElementById('result')
//jia:parseInt(numberAdd.firstNum)+parseInt(numberAdd.secondNum),
//jian:parseInt(numberAdd.firstNum)-parseInt(numberAdd.secondNum),
//cheng:parseInt(numberAdd.firstNum)*parseInt(numberAdd.secondNum),
//chu:parseInt(numberAdd.firstNum)/parseInt(numberAdd.secondNum)
};
你这一段,如何能找到document.getElementById('firstNum').value?
当你声明变量var numberAdd={
firstNum:xxx的时候,他是找不到document.getElementById('firstNum')的,因为他还没有加载进来
建议将这些代码放到body的最下面 或者进行window的load加载时运行
用闭包的单例模式来进行方法封装
<html>
<head>
<script type="text/javascript">
var JsuanQi=new function(){
var slef=this;
this.getFirstNum=function(){return document.getElementById('firstNum').value;};
this.getSecondNum=function(){return document.getElementById('secondNum').value;};
this.getResult=function(){return document.getElementById('result').value;};
this.jia=function(){return parseInt(slef.getFirstNum())+parseInt(slef.getSecondNum());};
this.jian=function(){return parseInt(slef.getFirstNum())-parseInt(slef.getSecondNum());};
this.cheng=function(){return parseInt(slef.getFirstNum())*parseInt(slef.getSecondNum());};
this.chu=function(){return parseInt(slef.getFirstNum())/parseInt(slef.getSecondNum());}; this.jiSuan=function(){
var fu=document.getElementById('sele').value;
var ret="";
switch (fu){
case "+":{ret=slef.jia();break;}
case "-":{ret=slef.jian();break;}
case "*":{ret=slef.cheng();break;}
case "/":{ret=slef.chu();break;}
default:{ret="";break;}
}
document.getElementById('result').value =ret;
}
}
</script>
</head>
<body>
<input type="text" id="firstNum">
<select name="sel" id="sele" >
<option>选择运算符</option>
<option value="+">+</option>
<option value="-" >-</option>
<option value="*" >*</option>
<option value="/">/</option>
</select>
<input type="text" id="secondNum">
<input type="button" value="=" onclick="JsuanQi.jiSuan();">
<input type="text" readonly="readonly" id="result"><br/>
</body>
</html>