javascript金额合计最后一步出错了

ssh78 2009-10-26 04:10:26
生成一个表格,要求用户在表格中输入数据,因为其中的科目是分级次的,用户提出,当他输入二级科目金额后,一级科目的金额等于其二级科目金额的合计


我的逻辑是这样的:
一级科目根据科目id,让其input的id=itemid,例如3
二级科目根据科目id与父科目id,让其input的id=parentid+'-'+itemid,例如:3-14

执行时,传入二级科目的id,例如3-14
在js里判断传入的3-14
通过分解字符串3-14,得到3-,这样遍历所有的input控件,得到3-1,3-2,...3-14的数值
这些数值进行累加
通过分解字符串3-14,得到其一级科目的input 3,将累计数付给他
可是在输入第一个数时,没有报错,输入第二个数,就报错了,不知道哪里写错了

呵呵,还有最后一步,大家帮我看看哪里错了,报错:对象不支持此属性或方法
<script language="javascript">
function sumnum(id)
{
sumid=id.substring(0,id.indexOf("-"));//得到一级的id
sumnum=0;
sumtext=sumid+'-';//得到一级id-
//window.alert(sumtext);
var inputs = document.all.tags("INPUT");
for (var i=0; i <inputs.length; i++)
{
if(inputs[i].id.indexOf(sumtext)==0)
{
sumnum+=Number(inputs[i].value); ---------------------------这里报错
//alert(inputs[i].value);
}
}
alert(sumnum);
//var suminput=document.getElementById(sumid);
//suminput.value=sumnum.toString();
}
</script>


<%

i=0
set rsitem1=server.CreateObject("adodb.recordset")
sqlitem1="select * from v_model where model_year='"&ayear&"'"
rsitem1.open sqlitem1,oconn,1,3
while not rsitem1.eof
itemid=rsitem1("item_id")
ilevel=rsitem1("item_level")
imanname=rsitem1("man_dep_name")
iname=rsitem1("item_name")
ipid=rsitem1("par_item_id")

i=i+1
%>
<tr <%if rsitem1("item_level")="1" then%> bgcolor="#CCCCCC" <%end if%>>
<td > <%=i%> </td>


<td > <%=ilevel%> </td>
<td > <%=imanname%> </td>
<td > <input name="appitemid" type="hidden" value=" <%=itemid%>"/> <%=iname%> </td>
<% if ilevel="1" then %>
<td > <input name="appnum" id=' <%=itemid%>' value="0" readonly type="text" size="10" /> <span> </span> </td>
<td> <input name="appbas" value="" readonly type="hidden" size="30" /> </td>
<% else %>
<td > <input name="appnum" value="0" type="text" size="10" id=' <%=ipid%>- <%=itemid%>' onblur="sumnum(this.id)"/> </td>
<td> <input name="appbas" value="" type="text" size="30" /> </td>
<% end if %>

</tr>

<%

rsitem1.movenext
wend

rsitem1.close()

set rsitem1 = nothing
%>
...全文
56 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
露珠111 2009-10-27
  • 打赏
  • 举报
回复
是不是数据类型不一样造成的啊
ssh78 2009-10-27
  • 打赏
  • 举报
回复
请大家帮帮我呀
ssh78 2009-10-27
  • 打赏
  • 举报
回复
sumnum+=parseFloat(inputs[i].value);
friendly_ 2009-10-27
  • 打赏
  • 举报
回复
sumnum+=parseFloat(inputs[i].value);
friendly_ 2009-10-27
  • 打赏
  • 举报
回复
sumnum+=Number(inputs[i].value); ------------->sumnum+=parseInt(inputs[i].value);

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧