踩坑:form表单中button按钮,点击后提交表单
问题描述:
在form表单中,我放了一个button想要来发送ajax请求,但是我点击后,却触发了表单的提交。
下面是当时的源码
<form>
<table>
<thead>
<tr>
<th>欢迎您!</th>
<th>${stuName}</th>
</tr>
<tr>
<td colspan="2">
<button id="btn">查询各科成绩</button>
</td>
</tr>
</thead>
<tbody>
</tbody>
</table>
</form>
甚是郁闷!
我当时是在JSP中写的这段代码,我一直以为只是JSP的问题,然后又开始怀疑jQuery的问题,都没有解决。
然后终于在网上找到了相关的文章。
分析:如果不指定<button>
的type属性,那么该按钮默认就是submit,所以点击后,触发了表单的提交
使用<button>
时,一定要显式地指定type属性值,避免不必要的麻烦
补充:
<button>
元素有一个type属性,该属性有三个值:
- button,就是一个普通的按钮,该按钮没有默认的行为
- reset,重置表单的所有组件为初始值
- submit,此按钮将表单数据发起提交。type的默认值
参考材料:MDN-button
以下来自MDN的官网文档中的说明