Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将JSP变量输出到JavaScript代码段中_Javascript_Jsp_Jstl - Fatal编程技术网

将JSP变量输出到JavaScript代码段中

将JSP变量输出到JavaScript代码段中,javascript,jsp,jstl,Javascript,Jsp,Jstl,我的循环中有一个varStatus,我想把它发送给js中的一个函数 这就是我所拥有的: onkeyup="clickableButton(this.value, ${newCommentStatus.index})" 但是,${newCommentStatus.index}未定义。我如何发送此值 提前谢谢 编辑 <c:forEach items="${threadviewModel.emailToShowList}" var="row" varStatus="status">

我的循环中有一个
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>

${newCommentStatus.index}不是标准的JavaScript。
我怀疑您正在使用JQuery或类似的东西:试试${newCommentStatus}.index
这需要一些假设。

您的
调用变量“status”,而不是“newCommentStatus”

事件处理程序如下所示:

... onkeyup="clickableButton(this.value, ${status.index})" ...
此外,您还可以清理JavaScript:

    function clickableButton(text, id) {
        document.getElementById("save-" + id).disabled = text.length <= 0;
    }
功能可点击按钮(文本,id){
document.getElementById(“save-”+id).disabled=text.length试试这种方法


onkeyup=“clickableButton(this.value,${newCommentStatus.index}”)”

你能发布更多的代码吗?什么是
newCommentStatus
?varStatus在哪里?
varStatus
?模板引擎中的
${}
是什么?什么循环?没有“HTML变量”这样的东西。它是JSP。varStatusthing提供循环状态信息,比如索引和一些“atStart”和“atEnd”标志。这是JSP模板引擎的“forEach”构造。也没有理由不起作用。“索引”始终是一个数字,因此该构造将导致JavaScript数值常量。我怀疑是输入错误或其他原因。您必须发布整个
循环,以便任何人能够提供帮助。感谢添加代码,但您仍然没有发布“onkeyup”的完整上下文处理程序。它不是jQuery,而是服务器端JSP。您希望它如何与JavaScript一起工作?JSP将生成一个页面,然后JavaScript将运行并处理多次。您的页面中只能有一个由JSP生成的值,或者您可以通过AJAXIt获得JSP变量,从而可以使用服务器端构建JavaScript代码。@Pointy-这不正是我说的吗?我一直认为“生成”和“构造”已经(几乎)完成了同样的意思。我承认,在这种情况下很难判断目的是什么。你当然是对的:如果想法是以某种方式混合服务器端和客户端代码,那么这是荒谬的。这正是我正在做的。id是undefined@BeaGonzalezGutierrez这是不可能发生的,因为索引值是一个数字。您应该通过查看生成的页面在浏览器中的外观,而不是从JSP源代码中进行调试。我正在使用google chrome analyzer,这就是我得到的结果。我无法发布屏幕截图。
    function clickableButton(text, id) {
        document.getElementById("save-" + id).disabled = text.length <= 0;
    }