使用Java脚本提交Spring表单
我正在尝试使用java脚本提交一个基于确认条件的spring表单。 下面是我的控制器使用Java脚本提交Spring表单,java,spring,forms,spring-mvc,Java,Spring,Forms,Spring Mvc,我正在尝试使用java脚本提交一个基于确认条件的spring表单。 下面是我的控制器 @RequestMapping("/loadPage.do") public ModelAndView loadPage() { ModelAndView modelAndView; //some code return modelAndView; } @RequestMapping(value="/submitAction.do" , method=RequestMethod.POST
@RequestMapping("/loadPage.do")
public ModelAndView loadPage()
{
ModelAndView modelAndView;
//some code
return modelAndView;
}
@RequestMapping(value="/submitAction.do" , method=RequestMethod.POST)
public String submitForm(@ModelAttribute Object form, Model m ){
//some code
return "page";
}
JSP
函数confirmForChanges(){
var r=确认(“您想继续吗”);
如果(r==true){
document.getElementById('submitButton').action=“/root/submitAction.do”;
document.getElementById('submitButton').submit();
警报(“您的更改已保存”);
}如果(r==false){
警报(“未保存更改”)
}
}
;
问题是即使我取消,表单也会被提交:(
我尝试从jsp表单中删除
action=“/submitAction.do”
,但没有成功。尝试使用事件onsubmit=“return confirmForChanges();”
函数confirmForChanges(){
var save=确认(“您想继续吗”);
警报(保存?“您的更改已保存”:“更改未保存”);
返回save;//如果为true,则提交,否则不提交
}
此解决方案使用的是onclick,而不是onsubmit,如果是onsubmit,它将转到控制器并提交表单,然后提交到脚本。但是使用onclick返回确实有效:)谢谢
<script>
function confirmForChanges (){
var r= confirm("Do you want to proceed");
if (r == true) {
document.getElementById('submitButton').action = "/root/submitAction.do";
document.getElementById('submitButton').submit();
alert("Your changes have been saved");
}if (r ==false){
alert("changes not saved")
}
}
</script>
<form:form action="/submitAction.do" commandName="command" method="post">
<input id=cancelButton type="button" value="Cancel" />
<input id=submitButton type="submit" value="Submit" onclick="javascript:confirmForChanges();"/>;
</form:form>