Spring表单标记复选框(form:checkbox)隐藏字段未发送到服务器
Spring forms tag checkbox (form:checkbox) hidden field not sent to server?
我有一个使用JQuery 2.1.3和Spring MVC 4.1.3的表单。表单上有一个复选框,它会导致Spring创建一个隐藏字段并将其添加到我的表单中。这是正常的、预期的Spring行为,但是,隐藏元素似乎没有被传递回服务器。检查Chrome开发工具中的POST,我可以看到复选框值如果被选中则返回,如果未被选中则不返回。不管怎样,我都看不到隐藏字段的值。
我使用JQuery onclick()
处理程序提交表单,并想知道这是否会以某种方式阻碍预期的行为,因为除此之外,我看不到任何问题。这是代码:
JSP来源:
<form:input id="mycheckboxinput" path="mycheckbox" />
生成的HTML:
<input id="mycheckboxinput" name="mycheckbox" type="checkbox" value="true" checked="checked"/>
<input type="hidden" name="_mycheckbox" value="on"/>
JQuery提交代码:
$("#myButton").on("click", function (event) {
event.preventDefault();
$("#myForm").attr("action", "alternateaction.do");
$("#myForm").submit();
});
有什么想法吗?
答案与复选框本身完全无关。我们禁用了表单上的所有控件,然后重新打开复选框。因为"所有其他控件"都包含隐藏字段,所以它们也被禁用,并且没有通过POST发送到控制器。这破坏了Spring的功能,因为它需要这些字段才能工作。因此,当您在正常表单工作流之外使用Javascript关闭和打开字段时,请小心这一点。
相关文章:
- JavaScript 检查隐藏字段中的值并将其设置为隐藏字段值
- 带有验证和隐藏字段值的提交按钮
- 主干窗体隐藏字段未呈现
- 清除以前的$_GET值或不获取仅隐藏字段的值
- 添加和删除隐藏字段数组中的值,而不提交表单
- 在控制器上使用“$watch”时,为什么不更新此隐藏字段
- 将选项值附加到隐藏字段
- JQuery获取隐藏字段的值
- HTML提交表单,同时包含空字段检查和按钮隐藏
- MVC+访问控制器中的隐藏字段
- 如何隐藏&使用jQuery禁用依赖于另一个字段值的字段
- ASP.net Javascript函数中的隐藏字段为null
- 在第一页加载时隐藏字段,而不是在php发布之后
- 使用JavaScript获取隐藏的Django字段
- 提交表单时,显示或识别隐藏的必填字段并将其集中
- 表单使用js、html,而不是隐藏字段
- HTML5要求隐藏文件字段-反馈位置
- 当javascript中的强制字段隐藏在条件中时,如何限制它们的验证
- 为隐藏字段隐藏jquery验证器消息
- 如何使一些字段隐藏取决于其他字段的值AngularJS, Razor, c#