问题总结

2013-8-8:

1、银行归档系统中,有一个对日志信息状态修改的按钮问题  有三种状态0:未查看    1:正在处理   2:处理完毕(页面只显示0和1状态)

问题描述:点击每一页的除第一条信息外,但是第一条按钮的value会在后台处理反应的一段时间内变成“正在处理”,后台处理完毕后恢复正常,再连续点击其他状态为0的按钮(除第一个外,按钮也都能变为状态1(正在处理)。可是如果点击一下第一条后,再点击页面中其他状态为0的按钮,就会出现BUG(直接显示“您确定已经处理完了异常了吗?点击确定该条数据会从页面中删除”这句话

按钮处理对应的js:

function change(obj)
    {
        var pageNum = ${pagenation.pageNum};
        var seqNo = obj;
        var showMess = document.getElementById(seqNo);//出现BUG的时候所写的button的id值为“button”
        if(showMess.value=='查看')
        {   
            var state = 0;
            showMess.value='正在处理';
            window.location.href="<%=basePath%>changeState.do?seqNo="+seqNo+"&state="+state+"&pageNum="+pageNum;
        }
        else
       {                if(confirm("您确定已经处理完了异常了吗?点击确定该条数据会从页面中删除"))
            {
                var state = 1;
                window.location.href="<%=basePath%>changeState.do?seqNo="+seqNo+"&state="+state+"&pageNum="+pageNum;
                //alert("该异常已经从页面中删除");
            }
           }
       }

页面list对应的html代码:

<thead>
    <tr>
        <td width="5%">序号</td>
	<td width="10%">标题</td>
	<td width="45%">异常日志</td>
	<td width="10%">操作</td>
   </tr>
</thead>
<tbody>  
  <c:forEach items="${pagenation.data}" var="temp"  varStatus="status">
    <tr>
	<td>${(pagenation.pageNum-1)*pagenation.size+status.count}</td>
	<td>${temp.tittle }</td>
	<td style="word-break:break-all;text-align:left;">${temp.content }</td>
	<td><input type="button" id="${temp.seqNo }" name="button" value="${temp.state==0?"查看":"正在处理" }" 
        οnclick="javascript:change(${temp.seqNo })"/></td>
    </tr>
  </c:forEach>
</tbody>



错误原因:把button按钮的id值写成“button”,然而这些button是<c:foreach>循环得到的,导致了页面上所有button的id相同,从而相互收到影响。改成日志信息在数据库中的seq_no后,id唯一,问题解决


总结:自己看这个bug,根本就不知道问题出在哪,感觉是js的问题,可是就是不知道js的具体那一块出问题,完全没有重点,试着改了几个地方,可是完全不是那么回事。最后是问别人,首先说:肯定是页面上的错误。看了一下我的html代码,问了几个参数,一眼就看在了获取id对象的js那。

------------------------------做的见的是在太少,除了问题定位不准,决绝问题没有思路,瞎试。差距啊大哭-----------------------------------



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值