Java Spring表单更改了ModelAttribute中未反映的值
我有以下表格Java Spring表单更改了ModelAttribute中未反映的值,java,javascript,spring-mvc,modelattribute,spring-form,Java,Javascript,Spring Mvc,Modelattribute,Spring Form,我有以下表格 <form:form id="form" name="form" target="dummyHiddenForm" method="post" commandName="myForm" > <span class="container"> <label>TestKey</label> <span class="container-righ
<form:form id="form" name="form" target="dummyHiddenForm" method="post" commandName="myForm" >
<span class="container">
<label>TestKey</label>
<span class="container-right">
<form:input path="key" id="key" cssClass="text" maxlength="200" cssStyle="width:60%" disabled="true"/>
<input type="button" class="refreshIcon" style="width:auto;" onclick="javascript:refreshKey()" />
</span>
</span>
<span style="width:auto; padding-left: 30%; padding-bottom: 4%; text-align:center; float:right; clear:both;">
<input type="button" class="button" style="width:auto;" value="Submit" onclick="javascript:submitForm()"/>
</span>
</form:form>
<iframe id="dummyHiddenForm" name="dummyHiddenForm" style="display:none;" ></iframe>
此方法正确工作,onclick在输入文本字段中设置新键
单击submit按钮,我将使用java脚本提交表单
function submitForm(){
var formVar = document.forms["form"];
formVar.action = "/test.htm";
formVar.submit();
}
但在我的控制器中,无论输入字段的实际值如何,我都会为键获得相同的默认值
我尝试使用javascriptalert
和.value
我可以看到更改的值,但实际DOM中的值没有更改(至少当我检查firefox中的元素时,它仍然显示value=”“
)
我需要在提交表单时获取更改的值。有什么问题吗?找到了解决办法。问题是由禁用的属性引起的,即
disabled=“true”
。尽管java脚本具有访问权限,可以修改输入的值
属性,但在提交spring表单时不会反映出来。一开始我就怀疑模型属性绑定没有问题。在禁用属性关闭的情况下工作正常
但是,如果仍要使输入字段不可编辑,则可以将另一个属性设置为true。使用javascript更改该值,该值将反映回表单提交的model属性中
<form:input path="key" id="key" cssClass="text" maxlength="200" cssStyle="width:60%" readonly="true"/>
<form:input path="key" id="key" cssClass="text" maxlength="200" cssStyle="width:60%" readonly="true"/>