[mw_shl_code=javascript,true] <script language="javascript" type="text/javascript" runat="server"> var lingState="beStart"; //当前状态 var curOper="start"; //当前运算符 var num1=0; //初值 var num2=0; //初值 var subOper=false; // 是否刚刚单击过运算符 var upOper=false;//运算符的标签 var tnumber=false;//MR记住显示框的状态 var cM=false;//记住M启动 var xM=false;//记住按M+ var ms=false;//记住是否按MS var sk=false; var twonumber=false; var ss;//保存MS要保存的值 var sb=0; function number(i)//数字键触发功能模块 { if(subOper ) //表示在此之前刚刚单击过运算符或者刚刚单击过等号 { form.ipt.value=i; //把输入的值赋给文本框显示 subOper=false;//输入数后,点击了符号 lingState="beInteger"; } else { //表示正在进行或开始一个数字的输入 if(form.ipt.value=="0")//当文本显示框为0时,则把刚刚单击的数值赋给文本框 { form.ipt.value=i;//当符合条件则把单击的数值(this.value)赋予给显示框1 lingState="beInteger"; } else form.ipt.value += i;//当文本显示框不为0,则数值累加显示文本框 } if(curOper!="start")//判断是否单击过运算符 { num2=form.ipt.value; } // alert("初值num1的值"+num1); // alert("num2的值"+num2); //lingState="beStart"; //清除当前状态 upOper=true;//记住输入数字 以便下面+号连+运算 tnumber=true;//记住有值 } </script> <style type="text/css"> body{ background-image:url(png/background.png); background-repeat:no-repeat; background-position: 150px 150px; background-attachment:absolute; } #ipts{ margin:25px 55px 23px 25px; text-align:right; width:270px;background:transparent;} #s{ margin:7px 5px 6px 5px; height:200px} </style> <b7> <img src="png/7a.png" name="b7" input type="button" value="7" class="bt" /> </b7> <b8> <img src="png/8a.png" name="b8" input type="button" value="8" class="bt" /> </b8> <b9> <img src="png/9a.png" name="b9" input type="button" value="9" class="bt" /> </b9> [/mw_shl_code] 这是我写计算器的部分代码 但是测试的时候 发现点击button以后 文本框内出现了undefined 我就不知道是哪里出问题了 大神帮忙看一下喵~~!20~
天涯明月稻 发表于 2012-11-13 14:08 form.ipt.value += i; 看你的代码,其他给form.ipt.value赋的值都是i,只有这个不是,你说i的值没问题, ...诶 好像是的诶 我再调试调试 thx
0soun0 发表于 2012-11-13 13:08 是有值的form.ipt.value += i; 看你的代码,其他给form.ipt.value赋的值都是i,只有这个不是,你说i的值没问题,那可能就是form.ipt.value 的原值有问题吧