踩坑: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的官网文档中的说明

posted @ 2023-05-22 21:54  秋天Code  阅读(32)  评论(0)    收藏  举报  来源