如何区分弹簧控制器中的onchange提交和按钮提交

时间:2013-11-06 07:11:38

标签: spring jsp jstl

我有jsp代码:

    <s:url value="add" var="addUrl"/>
    <form:form name="add" action="${addUrl}" modelAttribute="content" method="post">
        <input type="hidden" name="add" value="" />
        <form:select path="id" class="dClass" onchange="submit()">
        <form:options items="${list}" /></form:select>
        <input type="submit" class="btn" value="Refresh Content" />
   </form:form>

我对这个调用都有一个控制器方法,有没有办法区分表单提交的位置?是从下拉菜单还是从提交按钮?

@RequestMapping(value = "/add", method = RequestMethod.POST)
    public String getContentById(Model model, String id,Content content,HttpServletRequest request) {

if(call by onChange)

else if(call by submit button)

}

2 个答案:

答案 0 :(得分:1)

请注意,onchange="submit()"不会提交您的信息页。它将查找名称提交的功能。在该函数内部,您可以使用此$('form#form_id').submit();之类的代码进行提交。查看submit-a-form-using-jquery了解详情。

答案 1 :(得分:0)

@Vinoth Krishnan感谢您的回答,现在正在工作:)在我的表单中添加了一个“dropDownSubmit”

function submitForm(formId){
        var input = $("<input>").attr("type", "hidden").attr("name", "dropDownSubmit").val("true");
        $("#" + formId).append($(input));
        $("#" + formId).submit();
    }

然后在控制器中:

if("true".equalsIgnoreCase(form.getDropDownSubmit()){
 ..
}
else{
 .. button submit
}