form表单中的button自动刷新页面问题

form表单中如果存在button的话,有可能会出现一个问题:点击button,触发了页面的自动刷新事件。

原因是因为<button>标签默认的类型是submit,即默认的button点击就会触发表单的提交事件。

<button></button>
<!-- 两者是相当的 -->
<button type="sumbit"></button>

解决的办法有三个。

1.在<button>标签中添加属性type="button"。

<button type="button"></button>

2.将<button>标签改为<input>标签。

<input type="button" />

3.在button的点击事件中加入阻止默认事件执行的代码段(JavaScript/jQuery)。

$(‘button‘).on(‘click‘, function(e) {
    e.preventDefault();
});

另外,其实现在一般是不建议使用button标签的,而是使用a标签做按钮,一个是样式的定制问题,一个就是上面的问题。

"人最强大的时候,不是坚持,而是放下。"

原文地址:https://www.cnblogs.com/yanggb/p/11269314.html

时间: 2024-11-04 11:50:21

form表单中的button自动刷新页面问题的相关文章

如何阻止form表单中的button按钮提交

<form action="#" method="post"> <input type="text" name="username" class="username" placeholder="请输入您的用户名!"> <input type="password" name="password" class="

HTML Button自动刷新页面的问题

一.问题 <button class="am-btn am-btn-default am-btn-xs am-text-secondary" data-id="99" data-type=1><span class="am-icon-pencil-square-o"></span>修改</button> 页面上有这样一个按钮,每次点击这个按钮的时候,执行完button的click事件后,会自动的重新

关于form表单中button按钮自动提交问题

坑:点击确认按钮,form表单提交2次,发送后台2次请求 //错误代码: <Button id="btnSubmit" name="btnSubmit" class="btn btn-primary" >确认</Button> $("#btnSubmit").click(function(){ $('#formSave').ajaxSubmit(function(data) { if(data.code

bootstrap表单按回车会自动刷新页面的问题

想给form表单增加回车自动提交的功能 $('#password').keydown(function(event){ if (event.keyCode == 13) $('#login').click(); }); 然而,并没有达到预期的效果,而是自动刷新了表单,并将表单参数放在了url后面,如图 发现是是form标签的问题,将其改为div 问题解决,但原因未知

form表单中多个button按钮必须声明type类型

最近在做一个后台管理系统,发现了一个小bug: 问题描述:form表单中有多个button按钮(以下图为例),如果第一个button不写type属性,那么点击第一个button按钮会触发submit事件: 解决办法:给第一个按钮加上type属性. 原文地址:https://www.cnblogs.com/crf-Aaron/p/8336934.html

form表单中method的get和post区别

一.问题的提出   <form action="getPostServlet/getPost.do?param4=param4" method="get">     <input type="hidden" name="param1" value="param1">     <input type="hidden" name="param2&quo

dwz的form表单中url的变量替换

form表单中action的地址格式 “__URL__/edit/{xxx}”,大括号内的 “xxx” 就是变量名,主要功能是结合table组件一起使用. 下图中的删除.编辑.修改密码都是用了url变量替换: 删除.编辑.修改密码使用了变量{sid_user},特别需要注意的是变量命名的格式,必须以"sid_"开头,这样后台可以直接以变量"sid"接收. <tbody>中<tr target="sid_user" rel=&qu

如何在一个form表单中实现多个submit

As we all know,通过设置input type=“submit”,我们可以把form表单中的值通过post方式传递给action所指向的页面.下图中,我们可以把userName,userAge,userSex这三个值传递到xxx.jsp <form action="xxx.jsp" method="post">            <input type="text" name="userName&quo

Form表单中method=&quot;post/get&#39;的区别

Form提供了两种数据传输的方式--get和post.虽然它们都是数据的提交方式,但是在实际传输时确有很大的不同,并且可能会对数据产生严重的影响.虽然为了方便的得到变量值,Web容器已经屏蔽了二者的一些差异,但是了解二者的差异在以后的编程也会很有帮助的. Form中的get和post方法,在数据传输过程中分别对应了HTTP协议中的GET和POST方法.二者主要区别如下: 1.Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据. 2.Get将表单中数据的按照variable=val