button写在form内,点击会自动提交表单?我只想执行自己的方法
把button写在form内,只想点击时执行自己定义的方法,但为什么会提交呢?
<form>
……
……
<button class="btn btn-success" onclick="refreshChannel()">刷新渠道</button>
</form>
当你这样写,可能你想只执行refreshChannel方法,但你点击时,页面会刷新,但url的“?”后面是空字符串,如果你进入该页面时传有一些参数,这肯定会导致一些问题的出现,因为“?”后面的参数全都没了,下面是原因及解决方法。
问题原因:type有三种类型,button,reset,submit,如果没有写type,即使写默认的type也是"submit",而不是你以为的"button"
解决方法:
1、写在form外,再写一个div,这样怎么点都不会提交表单并刷新页面
2、只改一下默认的type就好,所以,如果是非提交按钮,别忘写type
这样就OK啦!
作者:巴厘尚晴
链接:https://www.jianshu.com/p/f0f4492d4475
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
分类:
1html5
, 3js|es5|es6
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通