现在的位置: 首页 > 综合 > 正文

javascript取参数时,给自己挖了个坑!

2017年12月02日 ⁄ 综合 ⁄ 共 1778字 ⁄ 字号 评论关闭

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,将要修改的记录查询出来并回填到小窗口中。

抱歉!评论已关闭.