function add()
{
var obj = event.srcElement;
var lista = document.form1.aa;
var listb = document.form1.bb;
var listc = document.form1.cc;
if(listc.length){
  for(var i=0;i<listc.length;i++){
    if(listc[i]==obj) break;
  }
  if(i<listc.length){
    listc[i].value = lista[i].value + listb[i].value;
  }
}
else listc.value = lista.value + listb.value;
}

解决方案 »

  1.   

    <input name="aa" type="text" id="aa" />
    <input name="bb" type="text" id="bb" />
    <input name="cc" type="text" id="cc" onfocus="if(document.getElementById('aa').value&&document.getElementById('aa').value){this.value=parseInt(document.getElementById('aa').value)+parseInt(document.getElementById('bb').value)}"/>
      

  2.   

    类型不正确根据需求转一下就行了呀 
    listc[i].value = parseInt(lista[i].value) + parseInt(listb[i].value);
    listc[i].value = parseFloat(lista[i].value) + parseFloat(listb[i].value);
      

  3.   

    “第一个可以了但是结果类型不正确100+200=100200”a=document.getElementById("aa").value 获取的a值默认是String类型的,你要用parseInt进行转换一下就可以了。
    否则,就是字符串连接了