function DoCal()
    {
     var e = event.srcElement;
     var row = e.parentNode.parentNode;
     var txts = row.all.tags("INPUT");
     if (!txts.length || txts.length<9)
      return;     
     var a = txts[txts.length-8].value;
     var b = txts[txts.length-7].value;
     var c = txts[txts.length-6].value;
     var q = txts[txts.length-5].value;
     var p = txts[txts.length-4].value;
     if (isNaN(q) || isNaN(p) || isNaN(a) || isNaN(b) || isNaN(c) )
     return;
     q = parseFloat(q);
     p = parseFloat(p);
     a = parseFloat(a);
     b = parseFloat(b);
     c = parseFloat(c);
     
     txts[txts.length-3].value = (a+b+c+q+p).toFixed(2);
    }
用来实现gridview中前5列的和赋值给第6列这个功能,哪里错了,提示stack overflow at line :0这个错误