按钮的OnClick事件仅适用于表的第一行

时间:2018-01-17 16:37:56

标签: html jsp google-geocoding-api session-keys

我正在使用Google Maps Geocoding在我的JSP页面上搜索并显示表格行中的地址。从会话密钥中检索地址。每行都有一个地址和一个按钮,但目前该按钮仅适用于第一行中的地址。我是新手,如果术语不正确,请道歉。

会话密钥代码:

class myForm(forms.Form):
    # ...
    date = forms.DateField(
        required=False,
        widget=MonthYearWidget(years=xrange(2004,2010))
    )

Google地图地理编码

<tbody>
<c:forEach items="${SKALLUSERS}" var="tempuser">    
    <tr>
        <td scope="row"><c:out value="${tempuser.getId()}"/></td>
            <td>${tempuser.id}</td>
            <td>${tempuser.email}</td>
            <td>${tempuser.password}</td>
            <td>${tempuser.firstName}</td>
            <td>${tempuser.lastName}</td>
            <td>${tempuser.userType}</td>
            <td><input id="address" type="textbox" 
            value="${tempuser.address}"></td>
            <td><a href="updateUser.jsp">Update</a></td>
            <td><input id="submit" type="button" value="Geocode"></td>
    </tr>
</c:forEach>
</tbody>

2 个答案:

答案 0 :(得分:0)

绝不是专家,我可能错了,但据我所知,ID应该是唯一的。

尝试在提交按钮或id的索引中添加一个类,例如“submit1”,“submit2”,然后使用:addEventListener

document.getElementById('submit').addEventListener

但是使用另一个其他选择器,比如getElementsByClassName,或者使用当前的选择器,如果你添加索引但是获取所有id为“submit”的元素。

答案 1 :(得分:0)

绝不是专家,我也可能是错的。

但是,如果只有forEach循环中表格第一行中的按钮按照你的说法工作,那么其余部分也应该有效。

除了你循环的数据(即items="${SKALLUSERS}")在某种程度上是不正确的,所以导致表的第一行的第一项是唯一具有预期值的项,而休息不是。