grails - 如何在使用远程链接 gsp 时将一个字段的值设置为参数
问题描述
我第一次使用 gsp,我需要在单击按钮时更新值。为此,我正在使用远程链接。
我有以下带有 id 的 textAreaupdate_${test.id}
<g:textArea name="test" id="update_${test.id}" value="${test?.number}" disabled="${readonly ? true : false}" />
我需要能够将参数的值设置required
为 textArea 内的值。
<g:remoteLink action="updateTest" params="{required:\$('#update_${test.id}').val()}" update="updateOnClick" class="btn btn-default"><span class="icon-save"></span></g:remoteLink>
这显然是一种错误的做法。有人可以帮我解决这个问题。
解决方案
以下示例使用 ajax 使用序列化将所有表单字段传递给控制器,您可以通过打印文本区域的值来选择您想要的操作,如下面的操作。
然后我们渲染一些文本来更新屏幕上的 div。
控制器
class TestStuffController {
def index(){}
def myAction() {
println params.myTextArea
render 'Updated'
}
}
索引.gsp
<!DOCTYPE html>
<html>
<head>
<meta name="layout" content="main">
<script type="text/javascript">
$( document ).ready( function() {
$( '#myButton' ).on( 'click' , function (event) {
$.ajax({
url: "${g.createLink( controller: 'testStuff', action: 'myAction')}",
type: "POST",
data: $( "form" ).serialize(),
success: function ( data ) {
$( '#myDiv' ).html( data );
},
error: function( j, status, eThrown ) { console.log( 'Error ' + eThrown ) }
});
});
});
</script>
</head>
<body>
<div>
<div id="myDiv"></div>
<g:form id="myForm">
<g:textArea name="myTextArea" id="myTextArea" />
<button type="button" name="myButton" id="myButton">Update</button>
</g:form>
</div>
</body>
</html>
推荐阅读
- linux - Vulkan.hpp 在一个系统上编译,但不在另一个系统上
- crystal-reports - 一个公式字段上的两个条件
- c# - 在 Asp.Net Core 3 Web App 中使用带有脚手架身份区域的标签助手
- c# - 使用 c# 设置文件夹的权限
- swift - Firebase 子节点被随机删除
- spring-boot - Camunda,不会部署到 Tomcat
- javascript - 什么原因无法加载默认凭据错误?
- maximo-anywhere - 用于自定义 maximo Anywhere 应用程序的 Apple 帐户
- node.js - 我可以让我的 NodeJS 服务器等待函数调用吗?我的程序完成得太快了
- reactjs - useEffect 没有正确删除事件