无法在 Spring MVC 4.3.9 中更改表单标记(方法 get)中的操作(参数)属性
Not able to change the action (parameter) attribute in form tag (method get), in Spring MVC 4.3.9
我想分享一些 SpringMVC form action unchangeable 问题的解决方案,我在互联网上找不到,包括这里。 (可能重复)
但我几乎是 Whosebug 的新生,所以我只是在这里问自己并立即回答自己。
// 我试过在GitHub问题上分享解决方案public,我也用不好。
//请求原谅...
我在 Spring MVC 4.3.9.
中发现了类似错误的东西
当我尝试在 javascript 函数中更改表单标签(方法 get)的操作属性时,
Web 浏览器地址 window 中的 URL 映射(我使用的是 Firefox)
始终输入为动作 + 表单标签内输入标签的名称。
<form action="mappingInControllerToSend" method="get" id="theForm">
<input type="text" name="test1"/>
</form>
<button onclick="formActionChange()"/>
<!-- blah blah -->
<script>
function formActionChange(){
var theForm = document.getElementById("theForm");
var newParam = "test2";
theForm.action = "mappingInControllerToSend?" + newParam;
}
</script>
<!-- the default value of the 'method' attribute in form tag is "get",
so if you don't write the method attribute at all,
then you are using get method, so getting this same wrong result. -->
在这种情况下,按照书本,我应该在 Controller 中连接到 "mappingInControllerToSend?test2"
(带有参数,test2)。
但我总是在 Controller 中连接到 "mappingInControllerToSend?test1"
(带有参数,test1)。
** 解决方案 **
=> 你应该改变表单标签的方法,表单 "get" 到 "post"
=> 当方法是 "post" 时,现在它转到 Controller 中的 "mappingInControllerToSend?test1",如编码的那样。
// P.S.
——不知道是不是bug。 (如果它是 Spring MVC 中计划的功能,我很抱歉。)
-- 但我至少希望这对遇到同样问题的人有所帮助。
我想分享一些 SpringMVC form action unchangeable 问题的解决方案,我在互联网上找不到,包括这里。 (可能重复)
但我几乎是 Whosebug 的新生,所以我只是在这里问自己并立即回答自己。
// 我试过在GitHub问题上分享解决方案public,我也用不好。
//请求原谅...
我在 Spring MVC 4.3.9.
中发现了类似错误的东西 当我尝试在 javascript 函数中更改表单标签(方法 get)的操作属性时,
Web 浏览器地址 window 中的 URL 映射(我使用的是 Firefox) 始终输入为动作 + 表单标签内输入标签的名称。
<form action="mappingInControllerToSend" method="get" id="theForm">
<input type="text" name="test1"/>
</form>
<button onclick="formActionChange()"/>
<!-- blah blah -->
<script>
function formActionChange(){
var theForm = document.getElementById("theForm");
var newParam = "test2";
theForm.action = "mappingInControllerToSend?" + newParam;
}
</script>
<!-- the default value of the 'method' attribute in form tag is "get",
so if you don't write the method attribute at all,
then you are using get method, so getting this same wrong result. -->
在这种情况下,按照书本,我应该在 Controller 中连接到 "mappingInControllerToSend?test2" (带有参数,test2)。
但我总是在 Controller 中连接到 "mappingInControllerToSend?test1" (带有参数,test1)。
** 解决方案 **
=> 你应该改变表单标签的方法,表单 "get" 到 "post"
=> 当方法是 "post" 时,现在它转到 Controller 中的 "mappingInControllerToSend?test1",如编码的那样。
// P.S.
——不知道是不是bug。 (如果它是 Spring MVC 中计划的功能,我很抱歉。)
-- 但我至少希望这对遇到同样问题的人有所帮助。