如何从 grails RemoteLink 更新 TextField?
现有标记:
<g:textField name="identifier"/>
<g:remoteLink action="newId" update="identifier">generate new id</g:remoteLink>
相应的 HTML 标记:
<input type="text" id="identifier" name="identifier">
<a onclick="new Ajax.Updater('guid','/webapp/domain/newId',{asynchronous:true,evalScripts:true});return false;" href="/webapp/domain/newId">generate</a>
单击链接时生成的 HTML 标记:
<input type="text" id="identifier" name="identifier">THE-NEW-ID-HERE</input>
<a onclick="new Ajax.Updater('guid','/webapp/domain/newId',{asynchronous:true,evalScripts:true});return false;" href="/webapp/domain/newId">generate</a>
Existing markup:
<g:textField name="identifier"/>
<g:remoteLink action="newId" update="identifier">generate new id</g:remoteLink>
Corresponding HTML markup:
<input type="text" id="identifier" name="identifier">
<a onclick="new Ajax.Updater('guid','/webapp/domain/newId',{asynchronous:true,evalScripts:true});return false;" href="/webapp/domain/newId">generate</a>
The HTML markup it generates when the link is clicked:
<input type="text" id="identifier" name="identifier">THE-NEW-ID-HERE</input>
<a onclick="new Ajax.Updater('guid','/webapp/domain/newId',{asynchronous:true,evalScripts:true});return false;" href="/webapp/domain/newId">generate</a>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
尝试
在您的控制器中返回 HTML 片段
RemoteLink 将仅更新节点的内容,因此不会更新文本字段的“值”。
希望有帮助。
Try
In your controller return the HTML fragment
The remoteLink will simply update the contents of the node so it won't update the "value" of the textfield.
Hope that helps.
使用 onSuccess 事件的另一种方法:
Another way using the onSuccess event:
只需将以下内容添加到remoteLink:
因此最终结果(完美运行):
需要注意的两件事:
'grails' 处理
属性。
just add the following to the remoteLink:
So the final result (which works perfectly):
2 things to note:
'grails' processing of that
attribute.