求助 表单引用问题

Any_King 2017-04-04 09:13:57
<html>
<head>
<title>计算器</title>
<script type="text/javascript">

var FKeyPad=document.KeyPad;
var accum=0;
var pendingop = "";
var FlagNewNum = false;

function NumPressed(num)
{
if(FlagNewNum)
{
FKeyPad.ReadOut.value=num;
FlagNewNum=flase;
}
else
{
if(FKeyPad.ReadOut.value=="0")
{
FKeyPad.ReadOut.value=num;
}
else
{
FKeyPad.ReadOut.value+=num;
}
}
}
function operation(op)
{
var ReadOut=FKeyPad.ReadOut.value;
if(FlagNewNum && pendingop!="=");
else
{
FlagNewNum=true;
if(pendingop=="+")
{
accum+=parseFloat(ReadOut);
}
else if(pendingop=="-")
{
accum-=parseFloat(ReadOut);
}
else if(pendingop=="/")
{
accum/=parseFloat(ReadOut);
}
else if(pendingop=="*")
{
accum*=parseFloat(ReadOut);
}
else
{
accum=parseFloat(ReadOut);
}
FKeyPad.ReadOut.value=accum;
pendingop=op;
}
}
function decimal()
{
var curReadOut=FKeyPad.ReadOut.value;
if(FlagNewNum)
{
curReadOut="0";
FlagNewNum=false;
}
else
{
if(curReadOut.indexof(".")==-1)
{
curReadOut=".";
}
}
FKeyPad.ReadOut.value=curReadOut;
}
function ClearEntry()
{
FKeyPad.ReadOut.value="0";
FlagNewNum=true;
}
function Clear()
{
accum=0;
pendingop="";
ClearEntry();
}
function Neg()
{
FKeyPad.ReadOut.value=parseFloat(FKeyPad.ReadOut.value)*(-1);
}
function Percent()
{
FKeyPad.ReadOut.value=(parseFloat(FKeyPad.ReadOut.value)/100)*parseFloat(accum);
}
</script>
</head>
<body>
<form name="KeyPad" id="KeyPad" action="">
<table bgColor="#add8e6">
<table border="2" width="50" height="60" cellpading="1" cellspacing="5" bgColor="#00CCD1">
<tr>
<td colspan="3" align="center">
<input type="text" name="ReadOut" id="ReadOut" size="24" value="0" width="100%" />
</td>
<td>
<input type="button" name="btnClear" onclick="Clear()" value=" C ">
</td>
<td>
<input type="button" value=" CE " onclick="ClearEntry()">
</td>
</tr>
<tr>
<td>
<input type="button" value=" 7 " onclick="NumPressed(7)">
</td>
<td>
<input type="button" value=" 8 " onclick="NumPressed(8)">
</td>
<td>
<input type="button" value=" 9 " onclick="NumPressed(9)">
</td>
<td>
<input id="Button1" type="button" value="+/-" onclick="Neg()"/>
</td>
<td>
<input type="button" value="%" onclick="Percent()">
</td>
</tr>
<tr>
<td>
<input type="button" value=" 4 " onclick="NumPressed(4)">
</td>
<td>
<input type="button" value=" 5 " onclick="NumPressed(5)">
</td>
<td>
<input type="button" value=" 6 " onclick="NumPressed(6)">
</td>
<td>
<input type="button" value=" + " onclick="operation('+')">
</td>
<td>
<input type="button" value=" - " onclick="operation('-')">
</td>
</tr>
<tr>
<td>
<input type="button" value=" 1 " onclick="NumPressed(1)">
</td>
<td>
<input type="button" value=" 2 " onclick="NumPressed(2)">
</td>
<td>
<input type="button" value=" 3 " onclick="NumPressed(3)">
</td>
<td>
<input type="button" value=" * " onclick="operation('*')">
</td>
<td>
<input type="button" value=" / " onclick="operation('/')">
</td>
</tr>
<tr>
<td>
<input type="button" value=" 0 " onclick="NumPressed(0)">
</td>
<td>
<input type="button" value=" . " onclick="decimal()">
</td>
<td>
<input type="button" value=" = " onclick="operation('=')"/>
</td>
</tr>
</table>

</table>
</form>

</body>
</html>



总是提示第一个函数中 无法获取未定义或 null 引用的属性“ReadOut”
怎么改啊?
...全文
126 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Any_King 2017-04-05
  • 打赏
  • 举报
回复
就改了下<script>的位置吗?我也这么改过,但有提示input里的函数未定义
cn00439805 2017-04-05
  • 打赏
  • 举报
回复

<html>
<head>
<title>计算器</title>

</head>
<body>
<form name="KeyPad" id="KeyPad" action="">
<table bgColor="#add8e6">
<table border="2" width="50" height="60" cellpading="1" cellspacing="5" bgColor="#00CCD1">
<tr>
<td colspan="3" align="center">
<input type="text" name="ReadOut" id="ReadOut" size="24" value="0" width="100%" />
</td>
<td>
<input type="button" name="btnClear" onclick="Clear()" value=" C ">
</td>
<td>
<input type="button" value=" CE " onclick="ClearEntry()">
</td>
</tr>
<tr>
<td>
<input type="button" value=" 7 " onclick="NumPressed(7)">
</td>
<td>
<input type="button" value=" 8 " onclick="NumPressed(8)">
</td>
<td>
<input type="button" value=" 9 " onclick="NumPressed(9)">
</td>
<td>
<input id="Button1" type="button" value="+/-" onclick="Neg()"/>
</td>
<td>
<input type="button" value="%" onclick="Percent()">
</td>
</tr>
<tr>
<td>
<input type="button" value=" 4 " onclick="NumPressed(4)">
</td>
<td>
<input type="button" value=" 5 " onclick="NumPressed(5)">
</td>
<td>
<input type="button" value=" 6 " onclick="NumPressed(6)">
</td>
<td>
<input type="button" value=" + " onclick="operation('+')">
</td>
<td>
<input type="button" value=" - " onclick="operation('-')">
</td>
</tr>
<tr>
<td>
<input type="button" value=" 1 " onclick="NumPressed(1)">
</td>
<td>
<input type="button" value=" 2 " onclick="NumPressed(2)">
</td>
<td>
<input type="button" value=" 3 " onclick="NumPressed(3)">
</td>
<td>
<input type="button" value=" * " onclick="operation('*')">
</td>
<td>
<input type="button" value=" / " onclick="operation('/')">
</td>
</tr>
<tr>
<td>
<input type="button" value=" 0 " onclick="NumPressed(0)">
</td>
<td>
<input type="button" value=" . " onclick="decimal()">
</td>
<td>
<input type="button" value=" = " onclick="operation('=')"/>
</td>
</tr>
</table>

</table>
</form>
<script type="text/javascript">
var FKeyPad=document.KeyPad;
var accum=0;
var pendingop = "";
var FlagNewNum = false;

function NumPressed(num)
{
if(FlagNewNum)
{
FKeyPad.ReadOut.value=num;
FlagNewNum=false;
}
else
{
if(FKeyPad.ReadOut.value=="0")
{
FKeyPad.ReadOut.value=num;
}
else
{
FKeyPad.ReadOut.value+=num;
}
}
}
function operation(op)
{
var ReadOut=FKeyPad.ReadOut.value;
if(FlagNewNum && pendingop!="=");
else
{
FlagNewNum=true;
if(pendingop=="+")
{
accum+=parseFloat(ReadOut);
}
else if(pendingop=="-")
{
accum-=parseFloat(ReadOut);
}
else if(pendingop=="/")
{
accum/=parseFloat(ReadOut);
}
else if(pendingop=="*")
{
accum*=parseFloat(ReadOut);
}
else
{
accum=parseFloat(ReadOut);
}
FKeyPad.ReadOut.value=accum;
pendingop=op;
}
}
function decimal()
{
var curReadOut=FKeyPad.ReadOut.value;
if(FlagNewNum)
{
curReadOut="0";
FlagNewNum=false;
}
else
{
if(curReadOut.indexof(".")==-1)
{
curReadOut=".";
}
}
FKeyPad.ReadOut.value=curReadOut;
}
function ClearEntry()
{
FKeyPad.ReadOut.value="0";
FlagNewNum=true;
}
function Clear()
{
accum=0;
pendingop="";
ClearEntry();
}
function Neg()
{
FKeyPad.ReadOut.value=parseFloat(FKeyPad.ReadOut.value)*(-1);
}
function Percent()
{
FKeyPad.ReadOut.value=(parseFloat(FKeyPad.ReadOut.value)/100)*parseFloat(accum);
}
</script>
</body>
</html>

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧