一个表单多个按钮提交

时间:2021-03-14 19:29:41

在做到表单的提交的时候,如果是一个按钮提交的话,对应一个action。只需要将form表单属性method=”post” action=”aasubmit”(aasubmit是一个action名字,只需要在后台写上此方法即可)
可是如果是多个按钮,如何将一个表单与多个方法关联呢?
思路是这样的:先不指定表单的action,让action属性为“”,method=“post”,为你的button写onclick方法,注意这里每一个button的onclick方法是一样的,只是传递的参数不一样,这里的参数只是起到标记是哪一个button的作用。
最后根据传递的参数不同,可以判断是来自哪一个按钮的消息,再为表单设置方法并提交。

<form name="form1" method="post" action="" id="form1">
<input type="button" id="querrybyid" value="ID查询" onclick="is_submit(1)"/>
<input type="button" id="querrybyname" value="片名查询" onclick="is_submit(2)" />
<input type="button" id="querrybyprice" value="价格查询" onclick="is_submit(3)" />
<input type="button" id="querrybyison" value="是否上映查询" onclick="is_submit(4)" />
<script> function is_submit(value) { var form1 = $("#form1"); if (value == 1) { var id = $("#id").val(); form1.action = "/Test/querrybyid?id="+id; $("#form1").attr("action",form1.action); form1.submit(); } if (value == 2) { var title = $("#title").val(); form1.action = "/Test/querrybyname?title=" + title; $("#form1").attr("action", form1.action); form1.submit(); } if (value == 3) { var minprice = $("#minprice").val(); var maxprice = $("#maxprice").val(); form1.action = "/Test/querrybyprice?minprice=" + minprice + "&maxprice=" + maxprice; $("#form1").attr("action", form1.action); form1.submit(); } if (value == 4) { var ison = $(":radio[name='ison']:checked").val() form1.action = "/Test/querrybyison?ison=" + ison; $("#form1").attr("action", form1.action); form1.submit(); } } </script>