form表单提交

form有一个action属性,在设置form时可以设置action,表单提交时就会执行这个action,如下:

 1 <form:form id="inputForm" modelAttribute="doctorMsgPush" action="${ctx}/doctor/test" method="post" name="form1"
 2            class="form-horizontal">
 3     <form:hidden path="id"/>
 4     <div class="control-group">
 5         <label class="control-label">标题:</label>
 6 
 7         <div class="controls">
 8             <form:input path="title" htmlEscape="false" maxlength="300" class="input-xlarge required"/>
10         </div>
11     </div>
12     <div class="form-actions">
13        <input id="btnSubmit" class="btn btn-primary"type="submit" value="保 存"/>
17     </div>
18 </form:form>

button的属性为submit,submit是特殊的button,它会自动的提交表单。

有时候不要自动提交表单,而是希望经过处理后再提交表单时,可以设定button的onclick属性,在JS中设定一个处理方法,并且必须有返回值(true 或者 false),button的onclick属性设置如下:

<input type="submit" value="提交" onclick="return function()"/>

这时候,就会根据function()的的返回值来判定是否提交表单。

有时候一个表单的数据,根据不同的要求需要提交到不同的action,这时候应该怎么做呢。

此时JSP页面有两个button,第一个button要将表单提交到action1,第二个button要将表单提交到action2.因为存在两个action ,因此在表单设置的时候,action属性是不能固定的,所以不对它进行设置。而是在JS 中根据判定条件来设置action。代码如下:

 1 <form:form id="inputForm" modelAttribute="doctorMsgPush" action="" method="post" name="form1" class="form-horizontal">
 2     <form:hidden path="id"/>
 3     <div class="control-group">
 4         <label class="control-label">标题:</label>
 5 
 6         <div class="controls">
 7             <form:input path="title" htmlEscape="false" maxlength="300" class="input-xlarge required"/>
 9         </div>
10     </div>
11 
12     <div class="form-actions">
13         <input id="btnSubmit" class="btn btn-primary" type="submit" onclick="check2()" value="保 存"/>
14         <input type="submit" value="查询用户ID" onclick="check()" class="btn btn-primary"/>
15     </div>
16 </form:form>

JS代码如下:

1     <script>
2         function check() {
3             document.form1.action = "${ctx}/doctor/doctormsgpushy/find?"; //action1
4         }
5         function check2() {
6             document.form1.action = "${ctx}/doctor/doctormsgpushy/save"; //action2
7         }
8     </script>

这样就能完成一个表单提交到不同的action了。

posted on 2016-05-20 16:12  青色枫xw  阅读(3620)  评论(3编辑  收藏  举报