Grails 访问表单时清除现有记录的字段

Grails 访问表单时清除现有记录的字段,grails,groovy,Grails,Groovy,当访问表单时,我需要添加一个必须为空的字段,即使在后端它有值。当用户在此字段中输入值时,提交表单时,新输入的值应替换旧值 下面的代码展示了我的最佳尝试,但是由于某些原因,onload在这里没有做任何事情。另一方面,如果我使用onclick单击该字段时,该值将立即清除。您能给我指出一下我在onload方面的错误所在,或者是否有其他解决方案来满足同样的需求吗 <g:textField class="internal-text" name="Internal__c" va

当访问表单时,我需要添加一个必须为空的字段,即使在后端它有值。当用户在此字段中输入值时,提交表单时,新输入的值应替换旧值

下面的代码展示了我的最佳尝试,但是由于某些原因,
onload
在这里没有做任何事情。另一方面,如果我使用
onclick
单击该字段时,该值将立即清除。您能给我指出一下我在
onload
方面的错误所在,或者是否有其他解决方案来满足同样的需求吗

<g:textField 
   class="internal-text" 
   name="Internal__c" 
   value="${Instance?.Internal__c}" 
   onload="if (this.value != '') {this.value = '';}" 
   maxlength="20"/>


谢谢

我建议添加一个隐藏字段并使用一个虚拟文本字段来设置它。文本字段可以根据需要为空,当它更改时,您可以将值复制到隐藏字段

<g:hiddenField name="Internal__c" value="${Instance?.Internal__c}" />
<g:textField class="internal-text" name="Internal__c_dummy" onchange="this.form.elements['Internal__c'].value = this.value" maxlength="20" />


我们为什么要为你做作业?@BurtBeckwith-我想我没有要求任何人做我的工作。如果我让它看起来像那样,让你觉得我在利用这个伟大的社区,我真的很抱歉。在尽了最大努力之后,我陷入了一些我以前没有经验或没有参考点的事情,并请求社区的帮助。不知道textField标记不适用于onload事件,正如Vimm在下面善意地指出的那样。让我知道我做错了什么,我保证下次与社区互动时我会纠正它。@Opal-谢谢你的编辑。我把“处理我的第一个grails作业”作为家庭作业,但我想这肯定是一个工作作业:)@BurtBeckWith-这确实是一个工作作业。不过很快就要回学校了。但这是另一章,我会小心不要再激怒你:不是所有的标签都有onload事件,输入标签就是其中之一。