使用jQuery在createlink标记中传递params

时间:2014-04-02 17:09:15

标签: grails grails-2.0 grails-controller

我试图做一件非常简单的事情,但是我被卡住了,我感觉很愚蠢。 基本上我有一个像这样定义的文本区域:

<textarea id="comment" name="comment" class="form-control" rows="7"></textarea>

然后我有一个createlink标签,我想在params部分传递textarea的内容,所以我做了类似的事情:

<g:createLink controller="admin"
              action="book"
              id="${bookingInstance?.id}"
              params="jQuery('#comment').serialize()"/>

当然它不起作用。 有人可以给我一些建议吗?

非常感谢

NIBE

更新: 它在html标签内的创建链接。像这样:

<a class="btn btn-primary btn-centered" onclick="getComment();" title="Press me" href=
<g:createLink
   controller="admin"
   action="bookAccepted"
   id="${bookingInstance?.id}"/>>
  Press me
 </a>

getComment()函数的定义如下:

function getComment() {
    window.location.href = $(this).attr('href') + '?' + $('#commet').serialize();
    return false;
}

结果我收到此错误消息: 为类com.Booking提供了错误类型的id。预期:类java.lang.Long,得到类java.lang.String。 Stacktrace如下:消息:为类com.Booking提供了错误类型的id。预期:类java.lang.Long,得到类java.lang.String

2 个答案:

答案 0 :(得分:1)

你必须用jQuery做到这一点。所以这样的事情可能就是这样:

<g:link controller="admin" action="book" id="${bookingInstance?.id"} onclick="return function() { window.location.href=$(this).attr('href') + '?' + $('#comment').serialize(); return false;}">My link</g:link>

答案 1 :(得分:0)

或者您可以尝试使用JS。当然,对于我来说,工作正常。对于ajax电话。

function sendTextArea(comment) {
     var params = {"comment":comment, "id": ${bookingInstance?.id}};
     console.log(params);
     ${remoteFunction(controller: 'admin', action: 'book', params:'params', update:'div')}
}
相关问题