submit和button的区别
程序员文章站
2022-03-04 17:32:40
...
声明:
button-普通按钮,submit-提交按钮。
submit是button的一个特例,也是button的一种,它把提交这个动作自动集成了,submit和button,二者都以按钮的形式展现,看起来都是按钮,所不同的是type属性和处发响应的事件上。
使用场景:
这里说的部分使用场景,并不是只能用一种,只是说,在这种场景下使用更加方便,程序员工作量小。
场景 | Submit | Button |
---|---|---|
网页上需要提交信息到服务器 | √ | |
网页上执行一个普通的事件,如重置、清空功能。 | √ | |
提交表单 | √ | 需要绑定事件才能提交表单数据 |
局部刷新 | 不可以使用,在触发事件的同时会提交表单。 | √ |
没有表单,却要提交数据 | submit需要有表单时,提交时才会带数据。当然使用submit也可以,但是前提要拦截onclick事件。 | 而button默认是不提交任何数据。可以绑定事件的方式来提交数据。 |
表单数据太多的时候 | 推荐 | 需要写很多数据的获取动作 |
提交数据是要使用JS进行校验的,但如果这时候用户禁用了JS,那么校验就失效了,如果后台也没有进行校验,那么不合法的数据就进入后台了。 | 不推荐 | 推荐:通过button提交数据,那么如果用户禁用JS,那么数据提交动作就**不了 |
补充:
1、上面的场景中,表单在点击提交按钮后需要用JS进行处理(包括输入验证)后再提交的话,通常我们提倡用button,如果需要使用submit提交前验证的话 应在方法前加return。onClick方法不加return 会自动提交,并不会起到约束的作用, 所以,使用submit时需要验证请加 return true或false。
如一个登陆模块,先验证用户名是否为空,如果为空,SUBMIT点击时永远提交不到from表单指定页面。只能是表单形式发送噢!而且不能再表单指定的页面中去验证传进来的值。
function check(){
var name = document.getElementById("name").value;
if(name == null || name == ''){
alert("用户名不能为空");
return false;
}
return true;
}
<form name="form" action="跳转的页面" method="post" onsubmit="return check()">
<input type="text" id="name"/>
<input type="submit" value="提交"/>
</form>
参考博客:
http://blog.sina.com.cn/s/blog_693d183d0100uolj.html
http://blog.csdn.net/x_fledgling/article/details/53842684
http://blog.csdn.net/jingmeifeng/article/details/7361229
上一篇: 男人腰痛怎么办?男性腰疼吃它可有效缓解
推荐阅读
-
mysql中int、bigint、smallint 和 tinyint的区别详细介绍
-
深入理解mysql SET NAMES和mysql(i)_set_charset的区别
-
C#中Action和Func的区别
-
java final 和instanceof 关键字的区别
-
详谈Enumeration接口和Iterator接口的区别
-
java 中sendredirect()和forward()方法的区别
-
php面向对象编程self和static的区别
-
关于break和continue以及label的区别和作用(详解)
-
IE和FIREFOX下CSS的区别与解决方法第1/2页
-
Android Activity中onStart()和onResume()的区别分析