0 写在前面

  对于程序而言I/O是一个程序的重要组成部分。程序的输入、输出接口,指定了程序与用户之间的交互方式。对于前端开发而言,input标签也有着其重要地位,它为用户向服务端提交数据提供了可能。

  今天通过此博客来整理一下HTML与HTML5中的各种input标签的type类型以及其常用方法。

1 代码整理

1-1 表单提交

  为了能够让input的数据表单内容成功提交到指定的url中,需要在input的外面套一层<form action=“#”> </form>。

  其中,action后面填写的值为目的url。

1-2 HTML原有type类型

  • 复选框checkbox:通过value的值来进行分组,在组内可以复选。

  • 单选框radio:通过name值分组,组内选项互斥。单选框和复选框通常都搭配label使用,label的for通常与选项中的id相对应,这样鼠标点选范围更大,可以点击文字标签进行选择。

  • 密码password:输入内容不显示给用户,在3-1节中会讲到如何显示密码。

  • 上传文件file:可以从用户本地选择文件进行上传。

  • 提交submit:将上述填写完毕的表单提交。

  • 重置reset:将上述填写的内容重置成初始状态。

  • 图片image:用src将一张图片放置在页面上,将提交鼠标点击该图片的坐标位置。  

 <form action="#">
<!-- HTML原有的type类型 -->
兴趣爱好:
<input type="checkbox" id="阅读" value="提交">
<label for="阅读">阅读</label>
<input type="checkbox" id="写作" value="提交">
<label for="写作">写作</label>
<input type="checkbox" id="写代码" value="提交">
<label for="写代码">写代码</label>
<br>
性别:
<input type="radio" name="sex" id="male"><label for="male">男</label>
<input type="radio" name="sex" id="female"><label for="female">女</label>
<br>
密码:
<input type="password" id="pwd">
<span id="showPwd">显示密码</span>
<br>
上传照片:
<input type="file" name="img">
<br>
<input type="hidden" name="avitor" id="1">
<br>
<input type="submit" id="submit">
<input type="reset" value="重置">
<!-- 可以点击图片,将点击位置传到后端 -->
<input type="image" src="./PopStars/pic/0.png">
</form>

1-3 H5新增type类型

  • 上传时间date/time/week/datetime-local:用于选择时间。

  • 数字number:会检查输入,只有有效的数字值才能被输入。

  • 邮箱email:会检查输入,只有有效的邮箱地址才能被提交。

  • 链接url:会检查输入,只有有效的网址才能被提交。

  • 颜色color:可以输入颜色。

  • 搜索search:可以记忆搜索历史。

  • 范围range:通过min max设置范围数值。
 <form action="#">
选择时间:
<input type="date">
<input type="time">
<input type="week">
<input type="datetime-local">
<br>
输入学号:
<input type="number" name="number">
<br>
输入邮箱:
<input type="email" name="email">
<br>
选择颜色:
<input type="color" name="color">
<br>
输入链接:
<input type="url">
<br>
搜索内容:
<input type="search" name="search">
<input type="submit" value="search">
<br>
输入范围:
<input type="range" min="0" max="100" name="range">
</form>

1-4 注意事项

  注意对于每项输入而言,需要为该元素设置一个name来标识。这是为了在提交表单数据的时候,能有效的定位到是哪个部分的输入了什么类型的数据值。

2 浏览器兼容情况

  表格数据来源于w3school。由于浏览器技术发展迅速,现在一些浏览器的新版本已经可以支持上述的部分type类型了。

3 与JS交互

3-1 显示密码

  为了实现密码显示功能,很简单,首先为显示密码的容器增加一个id,用JS为其绑定一个鼠标点击事件,当触发点击事件时,为密码input的类型由password改成text即可完成显示。

 <script>
showPwd.onclick = function(e){
pwd.type = 'text';
}
</script>

3-2 禁用默认的提交功能

   两种方法,一是为点击事件return false; 二是为原对象e加上e.preventDefault()方法。

 <script>
var submitBtn = document.getElementById('submit');
submitBtn.onclick = function(e){
console.log(pwd.value);
e.preventDefault();
return false;
}
</script>

Input标签使用整理的更多相关文章

  1. HTML5 <Audio/>标签Api整理(二)

    1.实例2: 相对较完整 Html代码: <style> #volumeSlider .slider-selection { background:#bababa; } </styl ...

  2. HTML基本结构与标签总结整理篇

    HTML基本结构与标签总结整理篇 前言:这是笔者的学习总结与整理,如果有错误或疑问的地方,欢迎指正与讨论!另:此文会不定时更新~ 1.了解HTML 学习前端技术,必然涉及三个方面:html(结构).c ...

  3. 关于input标签和placeholder在IE8,9下的兼容问题

    一. input常用在表单的输入,包括text,password,H5后又新增了许多type属性值,如url, email, member等等,考虑到非现代浏览器的兼容性问题,这些新的type常用在移 ...

  4. angular input标签只能单向传递数据的问题

    angularjs input标签只能单向传递数据的问题 <ion-view title = "{{roomName}}" style = "height:90%; ...

  5. 全面剖析 <input> 标签 ------ HTML\HTML5

    <input>标签因其形式多样.功能强大,当之无愧成为了WEB前端开发人员最钟爱的元素之一.下面就来对<input>做一个全面的剖析: 标签定义: <input> ...

  6. input标签file的value属性IE兼容性问题

    在IE中input标签file的value属性是只读的,不能通过js来改变,如下代码在IE中就是无效的: var input = document.getElementById('file'); in ...

  7. 一个input标签搞定含内外描边及阴影的按钮~

    自从怀孕以来,我就变得很是轻松,偶尔写一两个页面,或者偶尔调试一个两个bug,或者偶尔给做JS的同事打打下手,修改个bug什么......一个习惯于忙碌的工作的人,这一闲下来,感觉还真TM很不舒服-怎 ...

  8. 控制input标签中只能输入数字以及小数点后两位

    js 代码如下: /* 控制input标签中只能输入数字 和小数点后两位 */ function checkNum(obj) { //检查是否是非数字值 if (isNaN(obj.value)) { ...

  9. 一个解决chrome浏览器下input标签当autocomplete的时候背景变黄色同时input背景图片消失方案

    最近在改一个bug即如标题所讲的一样,chrome浏览器下当input标签开启autocomplete的时候input的背景颜色变黄同时在input的背景图片也被覆盖了.为此百度了好久发现网上说的使用 ...

随机推荐

  1. JavaBean到JSon格式的转换例子的代码

    内容过程,把做工程过程较好的内容片段备份一次,如下的内容是关于 JavaBean到JSon格式的转换例子的内容,应该对各朋友有一些用处. User u = new User(); u.setId(1) ...

  2. Android远程桌面助手之系统兼容篇

    Android远程桌面助手理论上兼容Android4.4至Android8.1之间所有的原生安卓系统,其他第三方ROM,如MIUI.Flyme.EMUI和Smartisan OS等也都陆续测试过,目前 ...

  3. DBA思考系列——凛冬将至,丧钟为谁而鸣!

    诸多迹象昭示着凛冬将至,大萧条终于正式在全国各地拉开了序幕,很多80后的国人没有经历过苦日子,也没有经历过真正的金融危机.这场经济危机必将摧毁一些无视经济能力,盲目购房,盲目消费的家庭或个人.个人对经 ...

  4. 前后端分离djangorestframework——ContentType组件表

    ContentType ContentType其实django自带的,但是平时的话很少会用到,所以还是放在Djangorestframework这个部分 作用: 在实际的开发中,由于数据库量级大,所以 ...

  5. Review: Basic Knowledge about SQL

    非原创,转自Github:enochtangg/quick-SQL-cheatsheet SQL 语句用法的速查表. 内容 查找数据的查询 修改数据的查询 聚合查询 连接查询 视图查询 修改表的查询 ...

  6. 连接到 PostgreSQL 数据源(SQL Server 导入和导出向导)

    本主题向你介绍如何从 SQL Server 导入和导出向导的“选择数据源”页或“选择目标”页连接到 PostgreSQL 数据源. 重要 连接到 PostgreSQL 数据库的详细需求和先决条件不在此 ...

  7. 伙伴系统之避免碎片--Linux内存管理(十六)

    1 前景提要 1.1 碎片化问题 分页与分段 页是信息的物理单位, 分页是为了实现非连续分配, 以便解决内存碎片问题, 或者说分页是由于系统管理的需要. 段是信息的逻辑单位,它含有一组意义相对完整的信 ...

  8. Eclipse出错不断,注册表不能乱改

    Eclipse打不开,始终报错,还能不能开心的敲代码了??? 首先说下造成我这个愚蠢错误的起源:电脑是win10系统,本来是可以正常使用的.某一天,我正在使用python,打开命令提示符,看见开头是中 ...

  9. 无法启动mysql服务”1067 进程意外终止”解决办法【简记】

    本文章主要是总结了各种导致mysql提示无法启动MYSQL服务”1067 进程意外终止”的一些解决办法,有碰到mysql无法启动的同学可尝试参考. 在win7的服务器里开启MySql服务提示“wind ...

  10. 【English 】20190319

     BOKO鼻子['boʊkoʊ] pores毛孔['pɔ:z] cute漂亮可爱[kjut] DEKO-BOKO pores don't make a girl cute! ideal最理想的[aɪˈ ...