今天群里有人问 表单验证 时用button 好 还是submit 好。
那么这两个玩意的区别在哪呢 ,为什么会在它们中间纠结呢?
求同求异
首先两个都是按钮 适合简单交互。默认样式没差
submit:
input标签的一种类型
以按钮的样式展现出来
文字为其value属性
因其是单标签 所以需要用value=“XXX”的形式来改变按钮上的字有表单 有submit 没有表单的submit 不叫submit 叫joke
- 默认动作是出现按钮点击的样式,点击执行表单提交操作
button
- 单标签 双标签
- 拥有按钮的样式有没有表单 都可以有button默认效果
- 仅出现按钮点击的样式,没有其他操作执行
<input type="button" id="" value="这是按钮" />
<button>这也是个按钮</button>
对比相同点 和不同点 我们可以发现 这两个玩意 长的一模一样 就是书写方式 和各自的技能有区别。
那么到底这俩玩意
谁好呢,谁适合 检查表单呢
俩都好 都行
==================分割线======================
为什么呢
首先 要看你表单检查的目的和方式
如果 你打算在填写完单纯的想有一个按钮用来检查
并不想提交 那么就使用 button
如果你想要的是点击然后检查并提交 那么submit自然就是你的选择了;
然而!!!!!
我要说 现在其实 他们俩是失散多年的……亲标签。
submit 比 button 多了一个默认的提交
当我们使用event.preventDefault();
禁用掉它的默认动作后,它就被我们变成了跟button一样的玩意;我们便可以随心所欲的玩弄调教它;
但是 submit 最后一定一定要给它再次插上翅膀 让它可以提交表单,
不然的话,不然的话 我们就别叫它submit了 叫它button吧
当设计的按钮 没有提交表单 的功能的时候,不要用submit,
虽然用了不会出问题 但会让人们觉得这很不正宗……别扭…
天下乌鸦一般黑
天下标签是一家
作为一个前端工作者 调教这些标签 便是我们要做的基础工作之一
了解标签功能,考虑标签意义
这样我们才能写出漂亮的
不会逼死处女座的标签
当然也可以恶搞写出逼死正常人的标签。
明明是一个button 怎么变成了输入框…… 单选框竟然成了提交按钮……
了解标签,认识标签,让标签在你的眼中没有秘密可言。
附:改造submit 常用代码:
event.preventDefault();//取消浏览器默认动作 在这里就是取消submit的默认点击提交
document.forms[0].submit(); //页面的表单数组 取第一个 手动补上提交
//友情提示当input type="submit" 的id 为submit 时 会导致submit()方法报错 所以这样提交不要取submit为id。