日期:2014-05-17  浏览次数:20916 次

开新贴送分求解?
我的输入框个数是不定的,为了循环,我把输入框的名字用数字来表标, <input   name=1....N>   我想当用户点击其中的一个输入框时,就自动将这个框的值设置为另外几个框值的和。
有点象csdn上的结贴那样。

如下:
<script   language= "JavaScript ">
  <!--
    function   temp(f)
    {for   (var   k=1;k <f;k++)
          {document.sqdo.+f+.value=(document.sqdo.+k+.value)+(document.sqdo.+(k+1)+.value)}
       
      }    
    //-->


<input   name= <%i%>   onclick= 'temp( <%i%> ); '> //i=1
<input   name= <%i%>   onclick= 'temp( <%i%> ); '> //i=2
<input   name= <%i%>   onclick= 'temp( <%i%> ); '> //i=3
<input   name= <%i%>   onclick= 'temp( <%i%> ); '> //i=4

也就是说当点到f那个输入框时,他的值是等于,k和k+1这两个输入框的值的和。我不知道我说明白了没有?


------解决方案--------------------
没明白,你想点到3的时候,3的值=1+2?
------解决方案--------------------
点到输入框4时,
输入框4的值=输入框2的值+输入框3的值
还是
输入框4的值=输入框1的值+输入框2的值+输入框3的值

??

------解决方案--------------------
<script>
function getvalue(obj){
var t=obj.name;
var obj1=document.getElementsByName(t-1);
var obj2=document.getElementsByName(t-2);
if (obj1.length <1) return;
if (obj2.length <1) return;
obj.value=parseFloat(obj1[0].value)+parseFloat(obj2[0].value);
}
</script>

<input name= "1 " type= "text " onClick= "getvalue(this); ">
<input name= "2 " type= "text " onClick= "getvalue(this); ">
<input name= "3 " type= "text " onClick= "getvalue(this); ">
<input name= "4 " type= "text " onClick= "getvalue(this); ">


没有检查之前的值是否为数值,是否可以做加法运算,你可以自己用isNaN检查