<html>
<head>
<title>j计算器</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
*{margin:0px;padding:0px}
#back{background-color:yellow;font-size: 20px;width:800px;height: 500px;margin:0px auto;}
.cal{text-align: center;}
.cal button{width:100px;height:100px;}
</style>
<script type="text/javascript" language="javascript">
/* var yy=document.getElementById(back);
var x=yy.fnum.value;
var y=yy.lnum.value;*/
// var x=document.calculate.num1.value;
var x=document.getElementByIdx("calculate").num1;
var y=document.calculate.num2.value[0];
// var fn=document.calcul.finalnum.value;
function c1(){
var result=parseFloat(x)+parseFloat(y);
alert(x);
document.calculate.finalnum.value=result;
// yy.finalnum.valueOf(result);
}
function c2(){
var result=parseFloat(x)-parseFloat(y);
document.calculate.finalnum.value=result;
// document.getElementById(back).F
}
function c3(){
var result=parseFloat(x)*parseFloat(y);
document.calculate.finalnum.value=result;
}
</script>
</head>
<body>
<div id="back">
<form name="calculate" class="cal">
第1个数:<input type="text" name="num1" value="0" id="only"><br>
第2个数:<input type="text" name="num2" ><br>
结果为:<input type="text" name="finalnum"><br>
<input type="button" name='add' value='+' onClick="c1()">
<input type="button" name='minus' value='-' onClick="c2()">
<input type="button" name='cheng' value='*' onClick="c3()">
<input type="button" name='jj' value='++'>
<input type="button" name='jian' value='--'>
<input type="button" name='division' value='/'>
<input type="button" name='bai' value='%'>
</form>
</div>
</body>
</html>
7 个解决方案
#1
<html>
<head>
<title>j计算器</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
*{margin:0px;padding:0px}
#back{background-color:yellow;font-size: 20px;width:800px;height: 500px;margin:0px auto;}
.cal{text-align: center;}
.cal button{width:100px;height:100px;}
</style>
<script type="text/javascript" language="javascript">
function c1(){
var x=document.calculate.num1.value;
var y=document.calculate.num2.value;
var result=parseFloat(x)+parseFloat(y);
document.calculate.finalnum.value=result;
}
function c2(){
var x=document.calculate.num1.value;
var y=document.calculate.num2.value;
var result=parseFloat(x)-parseFloat(y);
document.calculate.finalnum.value=result;
}
function c3(){
var x=document.calculate.num1.value;
var y=document.calculate.num2.value;
var result=parseFloat(x)*parseFloat(y);
document.calculate.finalnum.value=result;
}
</script>
</head>
<body>
<div id="back">
<form name="calculate" class="cal">
第1个数:<input type="text" name="num1" value="0" id="only"><br>
第2个数:<input type="text" name="num2" ><br>
结果为:<input type="text" name="finalnum"><br>
<input type="button" name='add' value='+' onClick="c1()">
<input type="button" name='minus' value='-' onClick="c2()">
<input type="button" name='cheng' value='*' onClick="c3()">
<input type="button" name='jj' value='++'>
<input type="button" name='jian' value='--'>
<input type="button" name='division' value='/'>
<input type="button" name='bai' value='%'>
</form>
</div>
</body>
</html>
#2
有1个问题:为什么 var x=document.calculate.num1.value; var y=document.calculate.num2.value;放在函数里可以用,放在函数外函数里的result就不能读正确结果
#3
标签的获取需要放在标签定义之后,即先要生成元素之后才能通过document.get...得到它,否则得到的就是null,所以在这里要把script放在form之后,或者在script里将所有的内容包在以下方法中:
window.onload=function(){
/*your code...*/
};
改方法就是在网页加载完毕之后再调用的
window.onload=function(){
/*your code...*/
};
改方法就是在网页加载完毕之后再调用的
#4
放在函数外是在页面加载时就执行的。在执行时下面的html元素还没有加载完成,访问不到。
就算把script放在form之后,或者放到window.onload事件中也不行,那样x,y的值只是文本框初始的字符串,不是用户后来输入的值。
#5
var x=document.getElementByIdx("calculate").num1; 这句Id后面X是什么东东????
#6
打错了而已
#7
把script放在form之后,这种方法是不对的,楼下正解
#1
<html>
<head>
<title>j计算器</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<style>
*{margin:0px;padding:0px}
#back{background-color:yellow;font-size: 20px;width:800px;height: 500px;margin:0px auto;}
.cal{text-align: center;}
.cal button{width:100px;height:100px;}
</style>
<script type="text/javascript" language="javascript">
function c1(){
var x=document.calculate.num1.value;
var y=document.calculate.num2.value;
var result=parseFloat(x)+parseFloat(y);
document.calculate.finalnum.value=result;
}
function c2(){
var x=document.calculate.num1.value;
var y=document.calculate.num2.value;
var result=parseFloat(x)-parseFloat(y);
document.calculate.finalnum.value=result;
}
function c3(){
var x=document.calculate.num1.value;
var y=document.calculate.num2.value;
var result=parseFloat(x)*parseFloat(y);
document.calculate.finalnum.value=result;
}
</script>
</head>
<body>
<div id="back">
<form name="calculate" class="cal">
第1个数:<input type="text" name="num1" value="0" id="only"><br>
第2个数:<input type="text" name="num2" ><br>
结果为:<input type="text" name="finalnum"><br>
<input type="button" name='add' value='+' onClick="c1()">
<input type="button" name='minus' value='-' onClick="c2()">
<input type="button" name='cheng' value='*' onClick="c3()">
<input type="button" name='jj' value='++'>
<input type="button" name='jian' value='--'>
<input type="button" name='division' value='/'>
<input type="button" name='bai' value='%'>
</form>
</div>
</body>
</html>
#2
有1个问题:为什么 var x=document.calculate.num1.value; var y=document.calculate.num2.value;放在函数里可以用,放在函数外函数里的result就不能读正确结果
#3
标签的获取需要放在标签定义之后,即先要生成元素之后才能通过document.get...得到它,否则得到的就是null,所以在这里要把script放在form之后,或者在script里将所有的内容包在以下方法中:
window.onload=function(){
/*your code...*/
};
改方法就是在网页加载完毕之后再调用的
window.onload=function(){
/*your code...*/
};
改方法就是在网页加载完毕之后再调用的
#4
放在函数外是在页面加载时就执行的。在执行时下面的html元素还没有加载完成,访问不到。
就算把script放在form之后,或者放到window.onload事件中也不行,那样x,y的值只是文本框初始的字符串,不是用户后来输入的值。
#5
var x=document.getElementByIdx("calculate").num1; 这句Id后面X是什么东东????
#6
打错了而已
#7
把script放在form之后,这种方法是不对的,楼下正解