我试图做一件非常简单的事情,但是我被卡住了,我感觉很愚蠢。 基本上我有一个像这样定义的文本区域:
<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
答案 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')}
}