【问题标题】:passing a tables html content to next gsp page将表格 html 内容传递到下一个 gsp 页面
【发布时间】:2011-12-14 06:00:38
【问题描述】:

我需要传递整个 html 表格内容并尝试将其作为参数传递给 ajax 调用中的下一个 gsp 页面

jQuery.ajax({
          type:'POST',
          data:{'table_cart': $("#table_cart").html()},
          url: '/gra/ar_request/nextpage',
          beforeSend: function() {
                   jQuery('#templateDiv').html('show spinner')
                },
          success:function(data,textStatus){jQuery('#templateDiv').html(data);},
          error:function(XMLHttpRequest,textStatus,errorThrown){}});
    return false;

当我尝试在下一页中检索值时,我遇到了各种错误,例如“XML 格式不正确,需要 img 标签。,;缺少 ..etc”

我只是在尝试执行以下操作以读取下一页上的值

var table_content = ${table_cart}

在值周围加上单引号会产生错误。需要知道如何将一个表格的html内容传递给另一个gsp,有没有更好的方法?

nextpage.gsp 上的错误详情 失踪 ;声明之前 http://cdn.jquerytools.org/1.2.6/full/jquery.tools.min.js 第 29 行

I am doing 
<script>
    var tbcont = ${rolecart}
</script>

我从操作中打印出控制台上的内容,它具有正确的内容。即表格内的所有标签,我需要对html内容进行编码吗? 控制台内容的准确显示是:

<thead>
                <tr>

                  <th scope="col" style="width: 40%">
                    <span class="column-sort">
                      <a href="#" title="Sort up" class="sort-up"></a>
                      <a href="#" title="Sort down" class="sort-down"></a>
                    </span>
                  Role
                  </th>
                  <th scope="col" style="width: 55%">
                    <span class="column-sort">
                      <a href="#" title="Sort up" class="sort-up"></a>
                      <a href="#" title="Sort down" class="sort-down"></a>
                    </span>
                 Description
                  </th>
                </tr>
              </thead>
              <tbody>

              <tr class="odd">

                    <td style="width: 40%;"><span style="color: black;">unix_server_read</span></td>
                    <td style="width: 55%;"><span style="color: black;">Role with UNIX based entitlements having read access</span
></td>
                </tr><tr style="color:black"></tr><tr style="color:black"> <td colspan="1">End Date: <input style="width:70px" nam
e="ar_enddate" value="" id="ar_enddate" type="text"><img src="images/icons/fugue/calendar-month.png" height="16" width="16"></td><
/tr><tr style="height:8px"></tr><tr class="even">

                    <td style="width: 40%;"><span style="color: black;">unix_server_write</span></td>
                    <td style="width: 55%;"><span style="color: black;">Role with UNIX based entitlements having write access</spa
n></td>
                </tr><tr style="color:black"></tr><tr style="color:black"> <td colspan="1">End Date: <input style="width:70px" nam
e="ar_enddate" value="" id="ar_enddate" type="text"><img src="images/icons/fugue/calendar-month.png" height="16" width="16"></td><
/tr><tr style="height:8px"></tr></tbody>

【问题讨论】:

  • 你从哪里得到这些错误?请粘贴完整的错误消息、堆栈跟踪和nextpage 控制器操作的正文。

标签: jquery html grails groovy


【解决方案1】:

不要将 html 传回服务器。相反,提取相关参数(使用&lt;g:form&gt;)并在您的 AJAX 调用中重新呈现文件的内容。

您可以通过将table 的内容提取到grails-template file 中来使用grails 实现此目的。这样您就可以在 AJAX 调用中呈现表格的内容。

在您的主 gsp 文件中,您的表格将如下所示:

<table>
     <g:render template="yourTableContent" model="${[..]}" />    
</table>

_yourTableContent.gsp 文件与 gsp 所在的位置相同。

在您从客户端调用的操作中,您可以调用:

def nextpage = {
    [..]
    render(template:"yourTemplateContent", model: [...])
}

【讨论】:

  • 也就是说,我是否需要将我的表格转移到一个模板gsp并在main.gsp和next.gsp上渲染,我如何处理模型或内容,不完全清楚跨度>
  • 我需要的所有字段都应该在
    标签内?
  • 我不确定你有哪种输入元素..暂时不要使用模型。您可以使用它来传递一些信息(例如输入的用户名或输入的过滤器)。
  • 这里有一些背景知识,以便您可以帮助我自定义/调整您建议的方法,这里的所有表值都只是文本标签,没有输入字段。该表是一个“购物车”表,它的值是在运行时使用来自其他表的 jquery 填充的,我需要知道如何在单击“确认”按钮时将此表带到下一页(直接或通过将其放入模板 gsp 并将其包含在下一页中?)还是我只是将所有项目放入会话/数据库中并在下一页检索它?
  • 只需将您的表格放入模板文件中。听起来你不需要模型部分。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-01-19
  • 1970-01-01
  • 1970-01-01
  • 2011-04-15
相关资源
最近更新 更多