<c:forEach items="${questionList}"var="questionList" varStatus="vs">

<c:forEachitems="${questionList}"var="questionList"varStatus="vs"><formname=... <c:forEach items="${questionList}"var="questionList" varStatus="vs"> <form name="form1" method="post"> <input type="hidden" name="id" id="id" value="<c:out value="${questionList.id}"></c:out>"> <input type="button" value="提交" onClick="studentTest()" /> </form></c:forEach> 各位大侠救救我:为啥在studentTest()中通过document.getElementById("id").value;获取的id值永远都只是questionList的第一条记录的id呢? 展开
 我来答
705434
2011-12-23 · TA获得超过112个赞
知道小有建树答主
回答量:110
采纳率:0%
帮助的人:124万
展开全部
id是唯一的,你循环中每个id(<input type="hidden" name="id" id="id")都一样,默认获取的就是第一个咯
1、(<input type="hidden" name="id" id="id")这边修改成(<input type="hidden" name="${questionList.id}" id="${questionList.id}")
2、onClick="studentTest()" 改成onClick="studentTest('${questionList.id}')" ,即把当前循环参数的id作为js调用的参数
3、js中function studentTest(id){document.getElementById(id).value};
蝴蝶梦里的庄周
2011-12-28 · TA获得超过134个赞
知道小有建树答主
回答量:73
采纳率:0%
帮助的人:65万
展开全部
并非是你得c:forEach有问题,而是你得js脚本有问题,你得C:foreach产生了多个<form>,且form里面都包含了id=‘id’的input元素。
只是HTML规范(或者说各个浏览器厂商的实现上)里的document.getElementById('idname')返回的是一个唯一的DOM元素。
如果你确定要取得多个同名的,可以使用document.getElementsByName(elemName),此js方法返回的是一个DOM数组。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式