我的循环中有varStatus
,我想将它发送到js中的函数。
这就是我所拥有的:
onkeyup="clickableButton(this.value, ${newCommentStatus.index})"
但${newCommentStatus.index}
未定义。我怎么能发送这个值?
谢谢你提前
修改
<c:forEach items="${threadviewModel.emailToShowList}" var="row" varStatus="status">
<form:form modelAttribute="commentFieldModel">
<span class="commentInput"><form:input id="commentInput" type="text" path="commentText" size="90" value=" " onkeyup="clickableButton(this.value, ${status.index})"/></span>
<div><input disabled="true" type="submit" id="save-${status.index}" name="_eventId_addComment" value="Save"/></div>
</div>
</form:form>
Javascript代码
function clickableButton(text, id) {
if (text.length > 0)
document.getElementById("save-" + id).disabled = false;
else
document.getElementById("save-" + id).disabled = true;
}
;
答案 0 :(得分:3)
您的<c:forEach>
调用变量“status”,而不是“newCommentStatus”。
事件处理程序如下所示:
... onkeyup="clickableButton(this.value, ${status.index})" ...
此外,您可以清理JavaScript:
function clickableButton(text, id) {
document.getElementById("save-" + id).disabled = text.length <= 0;
}
答案 1 :(得分:0)
试试而不是
onkeyup="clickableButton(this.value, '${newCommentStatus.index}')"
答案 2 :(得分:-1)
$ {newCommentStatus.index}不是标准JavaScript
我怀疑你使用的是JQuery或类似的东西:试试$ {newCommentStatus} .index
这将与一些假设一起使用。