先说一下button 和input的定义:

<button> 标签定义的是一个按钮

1、在 <button> 元素内部,您可以放置任何内容,比如文本或图像。这是该元素与使用 <input> 元素创建的按钮之间的不同之处;

2、 <button> 控件提供了更为强大的功能和更丰富的内容;

3、<button> 与 </button> 标签之间的所有内容都是按钮的内容,其中包括任何可接受的正文内容,比如文本或多媒体内容。

<input> 标签规定了用户可以在其中输入数据的输入字段

<input> 元素在 <form> 元素中使用,用来声明允许用户输入数据的 input 控件;input具体类型取决于type属性

接下来具体说明 四种按钮:  <input type="submit"/>、<input type="button"/>、<button type="submit"></button>、<button type="button"></button>

一、<input type="submit"/>:当用户单击此按钮时,表单会按<form>标记的action属性设置的方式来发送表单内容。点击时,页面会刷新

<form action="#">
<input type="text" name="username"/><br/>
<input type="password" name="password"/><br/>
<input type="submit" value="登录"/>
</form>

要想在提交数据之前,先对表单数据进行检验:

<form action="#" onsubmit="return check()">
用户名:<input type="text" name="username"/><br/>
密码:<input type="password" name="password"/><br/>
<input type="submit" value="登录"/>
</form>
<script LANGUAGE="JavaScript">
function check(){
console.log("提交前先验证");
var checkElement=document.getElementsByTagName("input");
if(checkElement[0].value==="" || checkElement[1].value==="") {
return false;//当用户名或者密码为空时,返回false,此时表单不会提交
}
}
</script>

当check函数里返回false会阻止submit的默认行为,即阻止表单数据提交(阻止页面刷新)

注意:onsubmit="return check()"  中的 return 不能省略

二、<input type="button"/>普通按钮,必须搭配JS才有用,如onclick事件等

<form action="#" onsubmit="return check()">
用户名:<input type="text" name="username"/><br/>
密码:<input type="password" name="password"/><br/>
<input type="submit" value="登录"/>
<input type="button" value="提醒" onclick="remind()"/>
</form>
<script LANGUAGE="JavaScript">
function check(){
console.log("提交前先验证");
var checkElement=document.getElementsByTagName("input");
if(checkElement[0].value==="" || checkElement[1].value==="") {
return false;//当用户名或者密码为空时返回false,此时表单不会提交
}
}
function remind(){
alert("这是一个简单按钮,默认不会提交表单数据,不会刷新页面");
}
</script>

三、<button type="submit"></button>表单数据提交按钮,与<input type="submit"/>用法相同

<form action="#" onsubmit="return check()">
用户名:<input type="text" name="username"/><br/>
密码:<input type="password" name="password"/><br/>
<button type="submit">登录</button>
</form>
<script LANGUAGE="JavaScript">
function check(){
console.log("提交前先验证");
var checkElement=document.getElementsByTagName("input");
if(checkElement[0].value==="" || checkElement[1].value==="") {
return false;//当用户名或者密码为空时返回false,此时表单不会提交
}
}
</script>

四、<button type="button"></button>普通按钮,与<input type="button"/>的用法是一样的

<form action="#" onsubmit="return check()">
用户名:<input type="text" name="username"/><br/>
密码:<input type="password" name="password"/><br/>
<button type="submit">登录</button>
<button type="button"onclick="remind()">提醒</button>
</form>
<script LANGUAGE="JavaScript">
function check(){
console.log("提交前先验证");
var checkElement=document.getElementsByTagName("input");
if(checkElement[0].value==="" || checkElement[1].value==="") {
return false;//当用户名或者密码为空时返回false,此时表单不会提交
}
}
function remind(){
alert("这是一个简单按钮,默认不会提交表单数据,不会刷新页面");
}
</script>

注意一点:

当<button>未处于<form>表单中时,其浏览器默认的type就是button;

而当<button>处于<form>表单中时,不同的浏览器对 <button> 元素的 type 属性使用不同的默认值;

因此,建议时刻为button设置type值。

总结一下:

  • <button type="submit"></button> 和 <input type="submit"/>用法相同,用作表单数据提交按钮,默认即会刷新页面;

  • <button type="button"></button> 和 <input type="button"/>的用法是一样的,均为普通按钮,默认情况不会刷新页面。

button 和input 的区别及在表单form中的用法的更多相关文章

  1. HTML(七)HTML 表单(form元素介绍,input元素的常用type类型,input元素的常用属性)

    前言 表单是网页与用户的交互工具,由一个<form>元素作为容器构成,封装其他任何数量的表单控件,还有其他任何<body>元素里可用的标签 表单能够包含<input> ...

  2. ThinkPHP数据库访问CRUD;__SELF__和__ACTION__的区别;自动收集表单:$n->create();

    一.tp框架数据访问(pdo基础) public function test() { $n = D("Nation"); //select();find(); //查询 1.$at ...

  3. 数据库访问CRUD;__SELF__和__ACTION__的区别;自动收集表单:$n->create();

    一.tp框架数据访问(pdo基础) public function test() { $n = D("Nation"); //select();find(); //查询 1.$at ...

  4. 表单提交中get和post方式的区别

    表单提交中get和post方式的区别有5点 1.get是从服务器上获取数据,post是向服务器传送数据. 2.get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一 ...

  5. 前端与后台可能需要使用交互的表单form,input标签

    前端与后台可能需要使用交互的表单标签 form表单和input标签 textarea文本域表单 select,option下拉列表表单 fieldset和legend组合表单 label标签 form ...

  6. input type=file文件选择表单元素二三事

    一.原生input上传与表单form元素 如果想使用浏览器原生特性实现文件上传(如图片)效果,父级的form元素有个东西不能丢,就是: enctype="multipart/form-dat ...

  7. 表单<form></form>提交方式的区别

    <form action="" method="get/post"> 表单<form></form>的提交方式有两种:pos ...

  8. HTML ------ 关于表单 Form

    Form(表单)主要用于采集和提交用户输入的信息,是页面与WEB服务器交互过程中 最重要的信息来源. 掌握表单(Form)有以下几个要点: 重要form属性 form常用控件 form提交方式 § 重 ...

  9. amazeui学习笔记--css(HTML元素3)--表单Form

    amazeui学习笔记--css(HTML元素3)--表单Form 一.总结 1.form样式使用:在容器上添加 .am-form class,容器里的子元素才会应用 Amaze UI 定义的样式. ...

随机推荐

  1. Shell脚本的颜色样式及属性控制

    首先看一下格式 echo -e "\033[字背景颜色:文字颜色m字符串\033[0m" 举例 echo -e "\033[41;36m 字体 \033[0m" ...

  2. javascript正则表达式的一些笔记

    正则表达式:Regular Expression.使用单个字符串来描述,匹配一系列符合某个句法规则的字符串.即按照某种规则去匹配符合条件的字符串.正则表达式就是规则. \b 单词边界 regexp对象 ...

  3. hiho第151周 Building in Sandbox floodfill

    题意:题目背景是<<我的世界>>,堆方块造房子,堆的规则是:新堆的方块必须和已有方块有重合面,而且不能往封闭空间里堆. 在三维空间中,给定一个堆的序列,判断符不符合规则. 数据 ...

  4. 计蒜客 数字解码 dp

    思路:dp(i)表示前i个字符的解码方案种数.进行状态转移时需要仔细思考,分情况讨论: 设第i个字符和第i-1个字符组成的数为x. 1.如果x根本不可能出现说明不是合理的编码,直接使dp(i)为0,例 ...

  5. 位置信息类API调用的代码示例合集:中国省市区查询、经纬度地址转换、POI检索等

    以下示例代码适用于 www.apishop.net 网站下的API,使用本文提及的接口调用代码示例前,您需要先申请相应的API服务. 中国省市区查询:2017最新中国省市区地址 经纬度地址转换:经纬度 ...

  6. dll和lib(包括静态链接库和与dll同时生成的lib)

    转:http://blog.csdn.net/galaxy_li/article/details/7411956 1:神马是Dll和Lib,神马是静态链接和动态链接 大家都懂的,DLL就是动态链接库, ...

  7. 小程序中曾经遇到的坑(1)----canvas画布

    目前正在开发小程序,在开发过程中,总会遇到一些坑,而这些坑并不会有很多开发者遇到而说出来.这里先记录一条我开发过程中遇到的问题,以便后人在开发中能够更容易的解决问题!!! 首先,小程序在canvas画 ...

  8. python高阶函数式编程

    from functools import reduce def str2int(s): def fn(x, y): return x * 10 + y def char2num(s): return ...

  9. java异常处理、多态

    第一:GC是什么? 为什么要有GC?  第二:垃圾回收的优点和原理.并考虑2种回收机制.  第三:垃圾回收器的基本原理是什么?垃圾回收器可以马上回收内存吗?有什么办法主动通知虚拟机进行垃圾回收?  第 ...

  10. 记录一下html渲染页面的 js框架

    1.artTemplate 2.laytpl 3.juicer 4.doT 5.Mustache 6.Handlebars 7.baiduTemplate 8.KissyTemplate 详细的以后补 ...