使用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

我正在尝试使用java脚本提交一个基于确认条件的spring表单。 下面是我的控制器

@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>