做项目的过程中遇到的小麻烦

我在做工作流的待办列表界面时遇到了一点小麻烦。
在这里我向没有接触过工作流的朋友,解释一下待办列表的概念:它指的是登录人需要办理的工作中的任务列表,例如:小张需要分别为工作WorkA,WorkB,WorkC办理TaskB ,则当小张以他的用户名xz登录到工作流系统后,呈现给他的待办列表就是
任务名 工作名
1 TaskB WorkA
2 TaskB WorkB
3 TaskB WorkC
待办列表页面(waitList.jsp)的代码很简单,所以我就大意了,下面是我最初写的代码:
 1 <%@ page language="java" contentType="text/html; charset=GBK"
 2     pageEncoding="GBK" %>
 3 <%@ page import="db.TaskList,java.util.List,java.util.Iterator,db.Task"%>
 4 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 5 <html>
 6 <head>
 7 <meta http-equiv="Content-Type" content="text/html; charset=GBK">
 8 <title>待办列表</title>
 9 </head>
10 <body>
11 
12 <%
13     String userName=request.getParameter("userName");
14     session.setAttribute("username",userName);
15     TaskList taskList=new TaskList();
16     List waitTasks=taskList.getWaitTasks(userName);//得到待办列表
17 %>
18 </div>
19 <div align="center">
20   <p>待办列表
21 </p>
22   <form name="myform" method="post" action="">
23     <p>
24       <input type="button" name="Submit2" value="创建" onclick="javascript:window.location.replace('draft.jsp')">
25 </p>
26     <table width="200" border="1">
27       <tr>
28         <td> </td>
29         <td>TASK_ID</td>
30         <td>NODE_ID</td>
31         <td>PROCESS_ID</td>
32       </tr>
33       
34 <%
35       for(Iterator it=waitTasks.iterator();it.hasNext();)
36       {
37         Task task=(Task)it.next();
38 %>      
39       <tr>
40       <td align="center"> 
41         <input type="radio" name="radio" value="<%=task.getTask_id()%>">
42       </td>
43         <td><%=task.getTask_id()%></td>
44         <td><%=task.getNode_id()%></td>
45         <td><%=task.getProcess_id()%></td>
46       </tr>
47 <%
48       }
49 %>      
50     </table>
51     <p>
52       <input type="button" name="do" value="办理" onclick="manage()">
53 </p>
54   </form>
55   <p>&nbsp;  </p>
56 </div>
57 </body>
58 </html>
59 <script language="JavaScript">
60 
61 function manage()
62 {
63     for(var i=0;i<window.document.myform.radio.length;i++)
64     {
65         if(window.document.myform.radio[i].checked)
66         {
67             window.location.replace('deal.jsp?taskId='+window.document.myform.radio[i].value);
68             break;
69         }
70     }
71 }
72 </script>
可是经过我的测试,当待办列表中只有一条记录的时候出错!经过我的分析是第63行的radio.length出错,因为只有当radio为数组类型时,才有length属性,而当待办列表中只有一条记录时,radio不是数组类型,所以调用radio.length当然出错了。改正它其实很容易,就是保证radio是数组类型,解决办法是在第33行加一条语句<input type="radio" name="radio"  style="display:none">,问题解决了,因为此时的radio.length>=2。

posted on 2007-07-12 16:23 我为J狂 阅读(1187) 评论(2)  编辑  收藏 所属分类: JavaScript

评论

# re: 做项目的过程中遇到的小麻烦 2007-07-14 14:08 zustfkh

......
只是路过而已 -_-  回复  更多评论   

# re: 做项目的过程中遇到的小麻烦 2007-07-15 16:33 soberlevi

呵呵,我刚刚碰到,谢谢了  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 
<2007年7月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

导航

统计

常用链接

留言簿(11)

随笔分类(48)

文章分类(29)

常去逛逛

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜