【问题标题】:set jsp element using document.getElementById使用 document.getElementById 设置 jsp 元素
【发布时间】:2016-12-29 05:37:00
【问题描述】:

如何从 document.getElementById 中设置 jsp 变量值

我的 HTML 元素是

<span id="noOfRecPerPage" style="display: none;">${pulseDetails.noOfRecPerpage}</span>

我想将值设置为如下所示,但它不起作用

<c:set var="noOfRecPerPage" value="${document.getElementById('noOfRecPerPage').innerHTML}"/>

<c:set var="noOfRecPerPage" value="<script>document.getElementById('noOfRecPerPage').innerHTML</script>"/>

<c:set var="noOfRecPerPage" value="document.getElementById('noOfRecPerPage').innerHTML"/>

<c:set var="noOfRecPerPage" value="<script>document.getElementById('noOfRecPerPage').value</script>"/>

<c:set var="noOfRecPerPage" value="${document.getElementById('noOfRecPerPage').value}"/>

【问题讨论】:

  • 我的回答有帮助吗?然后,您可以通过单击左侧的复选标记和向上箭头来接受并投票。如果仍有问题,请提供更多信息。

标签: javascript jsp


【解决方案1】:

不要混合使用 EL(服务器端代码)和 Jquery/Javascript(客户端)。 正如我在这里解释的那样:https://stackoverflow.com/a/41382210/1107653
不能使用 &lt;c:set&gt; 与值 javascript 代码。

  1. 在将 JSP 编译成 Servlet 时,在服务器上评估表达式语言。
  2. Servlet 生成响应:html + javascript 并将其发送回浏览器。
  3. 浏览器评估 Javascript。

你可以做什么:

在服务器端:

可以直接使用Element的内容:${pulseDetails.noOfRecPerpage}

<c:set var="noOfRecPerPage" value="${pulseDetails.noOfRecPerpage}">

或者做一些javascript准备:

<script>
    var noOfRecPerPage= "${pulseDetails.noOfRecPerpage}";
</script>

并直接在其他 Javascript 代码部分中使用。

或者在客户端:

仅使用 javascript 来访问元素:

<script>
    var noOfRecPerPage = document.getElementById('noOfRecPerPage').innerHTML;
</script>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-05
    • 2014-02-16
    • 1970-01-01
    • 1970-01-01
    • 2010-09-14
    • 2016-08-09
    • 1970-01-01
    相关资源
    最近更新 更多