Jsp页面相关部分代码:
<!-- 从表 -->
<tr>
<td>
<table cellSpacing="0" cellPadding="3" width="100%" align="center" border="1" id="subEditTable">
<thead>
<tr align="center">
<td align="center" width="">选定</td>
<td>ID</td>
<td>名称</td>
<td>代码</td>
<td>所属分局</td>
<td>负责人</td>
<%--<td>GUID</td>--%>
<td>成立时间</td>
<td>撤销时间</td>
<td>X坐标</td>
<td>Y坐标</td>
<td>高程</td>
<td>地址</td>
<td>备注</td>
</tr>
</thead>
<c:forEach var="powerStations" items="${sessionScope.subList}">
<tr align="left">
<td align="center"><input type="checkbox" name="checkbox" class="checkbox" value="${powerStations.stationId }"/></td>
<td><a name="stationId" href="javascript:subModify(${powerStations.stationId})" >${powerStations.stationId}</a></td>
<td>${powerStations.stationName}</td>
<td>${powerStations.stationCode}</td>
<td>${requestScope.subCompanyName}</td>
<td>${powerStations.stationManager}</td>
<%--<td>${powerStations.stationGuid}</td>--%>
<td>${powerStations.stationStartDate }</td>
<td>${powerStations.stationEndDate}</td>
<td>${powerStations.stationX}</td>
<td>${powerStations.stationY}</td>
<td>${powerStations.stationHight}</td>
<td>${powerStations.stationAddress}</td>
<td>${powerStations.stationRemark}</td>
</tr>
</c:forEach>
</table>
</td>
</tr>
在页面的红色字体中调用了subModify(stationId)函数,并且通过el表达式将stationId的值传入了进去。
下面是js方法:
//点击id超链接【修改】按钮
function subModify(stationId){
//stationId = document.getElementById("stationId").value;
subWindow_add = _window.Open("[url]../powerStation/doSubModifyForward.do?id="+stationId, "修改信息", "width=600,height=360,left=200");
}
注销的红色部分,就是自己给自己挖的坑,脑子一时没转过来就忙活了老半天。
实际上stationId的值已经通过页面的el表达式取得,不需在通过 document.getElementById("stationId").value;来获取,并且id(注:由于id属性在此已经不能起到任何作用,故页面中已经删除)作为唯一的标识,不能标识所有的记录,因此一直只取到第一行的id,导致无论点击哪一行弹出小窗口都显示那一个id所代表的记录。
在firebug下调试页面,页面随鼠标光标移动解析html代码:
剩下要做的无非是在action方法中通过request.getParameter(”param”)来获取参数,通过传递的参数id,将要修改的记录查询出来并回填到小窗口中。