我有以下JSP代码:
<c:forEach items="${requestScope.XX}" var="x">
<tr>
<td><input type="radio" value="${x.xID}" name="x"></td>
<td> ${x.name}</td>
</tr>
</c:forEach>
每当用户点击单选按钮时,我需要同时使用x.xID
和'x.name'并在Javascript中验证。
如何将所选值传递给Javascript?
我尝试使用onClick
函数,但该值未传递给Javascript。
function validate(y) {
alert(y.value);
}
答案 0 :(得分:8)
我猜你对服务器端(JSP)和客户端(JavaScript)代码执行有点困惑,但无论如何:
<input type="radio" value="${x.xID}" name="x" onclick="validate('${x.xID}','${x.name}')" />
编辑添加了单引号以进行错误验证。
编辑2:正如我猜测的那样,你对JavaScript的执行位置感到有些困惑:它在客户端运行,你在JSP中拥有的对象不存在,因此y.value
中的validate()
毫无意义。你的功能应该是这样的:
function validate(id, name) { alert('id: ' + id + ', name: ' + name); }