首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >不使用表单更新单个JSP页面元素

不使用表单更新单个JSP页面元素
EN

Stack Overflow用户
提问于 2014-02-09 00:10:34
回答 1查看 339关注 0票数 0

在我的Struts2 2/Java应用程序中,我允许用户从JQGrid向应用程序发送数据。我使用"saverow“函数循环遍历每一行并提交已编辑的单元格。此函数位于一个单独的js文件中,该文件包含在我的JSP中。

代码语言:javascript
运行
复制
function editRows(){


    for (...){
        ...
        ...
        ...
        jQuery('#myGrid').jqGrid('saveRow,rowID,false,null,null,aftersavefunc);
    }

    getResponse();

}

在从此函数提交数据后,将更新我的action类中的一些类变量。我使用aftersavefunc设置隐藏的jqgrid单元格(jqgrid 'setCell')的值,以便以后可以从网格中回忆它们。

我有额外的值,这些值简单地显示在div中。这些值在应用程序执行后也会更新。在执行上面提到的editRows()函数时,下面的div已经可见,并显示div中每个字段的值。这些初始div值是之前提交的表单的结果。下面是div在我的JSP中的样子。

代码语言:javascript
运行
复制
<div id="headerBar">
  <table>
      <tr>
          <td>Total Items:  <s:property value="strutsActionName.totalItems</td>
          ...
          ...
          ...
      </tr>
  </table>      
</div>

例如,当我的函数editRows被执行时,div已经在网页上显示了"totalItems“的值。它看起来就像这样:

代码语言:javascript
运行
复制
Total Items:  5

函数editRows执行后,"totalItems“的值在应用程序中被更新。java操作类具有totalRows的最新值。

当循环完成后,editRows函数正在调用另一个函数getResponse()。getResponse函数用于获取我使用"saverow“的"aftersavefunc”参数设置的隐藏jqgrid值。它使用jqGrid('getCell')获取那些隐藏的jqGrid单元的更新值。

我希望getResponse()函数也刷新"totalItems“的值。此值不在jqGrid中。我需要刷新单个字段并获得更新的值。例如,在完成editRows()之后,"totalItems“的值可以从5增加一倍,达到10。

在我的getResponse()函数中,我尝试使用以下方法更新这个值,但是它没有起作用。

代码语言:javascript
运行
复制
document.getElementById('headerBar').reload

我只需要更新这个div中的值,而不提交表单。

EN

回答 1

Stack Overflow用户

发布于 2014-02-09 00:46:21

属性标记是在服务器端处理的,因此在将请求发送到服务器之前不会更新。

在我看来,最好的方法是将属性值放入id为span或p的元素中,然后使用document.getElemenrById检索该元素,并在检索其新值后从javascript中更改其内容。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21653453

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档