<script language="javascript">
function GetSum()
{
 document.mainForm.sum.value=parseInt(document.maniForm.Num1.value)+parseInt(document.maniForm.Num2.value);
}
</script>
<form  name="mainForm"  method="post"  action="post.asp">  
<input  type="text"  name="Num1"  value="0" onpropertychange="GetSum">  
<input  type="text"  name="Num2"  value="0" onpropertychange="GetSum">  
<input  name="sum"  type="text" id="sum">  
</form>

解决方案 »

  1.   

    漏了个括号,自己加上吧
    onpropertychange="GetSum()"
      

  2.   

    哦/我发现你的错误了
    不是document.maniForm.Num1.value
    应该是document.mainForm.Num1.value
    为什么刚开始sum不显示为0呢
      

  3.   

    输入错误过多,重新更正一下:<script language="javascript">
    function GetSum()
    {
     document.mainForm.sum.value=parseInt(document.mainForm.Num1.value)+parseInt(document.mainForm.Num2.value);
    }
    </script>
    <form  name="mainForm"  method="post"  action="post.asp">  
    <input  type="text"  name="Num1"  value="0" onpropertychange="GetSum()">  
    <input  type="text"  name="Num2"  value="0" onpropertychange="GetSum()">  
    <input  name="sum"  type="text" id="sum">  
    </form>
      

  4.   

    你要一开始就显示0需要在onload事件里也执行这个函数:
    <body onload="GetSum()">
      

  5.   

    to 楼上
    ----------
    如果用onpropertychange,在一个框中输入负数的话,刚一输“-”,就开始运算,得到一个NaN。
    我觉得定义在onblur中要好一些
      

  6.   

    在问我一共有19个input 名称分别如money1,money2,money3,money4....
    怎么用循环把他们加起来
    document.mainForm.sum.value=0
    for (i=1;i<+19;i++)
    {
    ParseInt(document.mainForm.sum.value)+=parseInt(document.mainForm.Num+i+.value);
    }
      

  7.   

    document.mainForm.sum.value +=parseInt(eval("document.mainForm.Num"+i+".value"));
      

  8.   

    var i = 0
    i += parseInt(eval("document.mainForm.Num"+i+".value"))
    document.mainForm.sum.value = i