前端入门——html 表单控件使用
bigegpt 2024-11-26 00:32 3 浏览
上篇介绍了表单的使用,表单有很多控件,比如输入框,密码框、文本域,按钮等。按类型可分如下:
- 输入类控件
- 菜单类控件
输入类组件 —— input
此类控件有很多种类型,使用<input type="类型">语法,常见类型如下:
type 值 | 含义 |
text | 文字字段 |
password | 密码域,用户看不到明文,以*代替 |
radio | 单选按钮 |
checkbox | 多选按钮 |
button | 普通按钮 |
submit | 提交按钮 |
reset | 重置按钮 |
image | 图像域,用图像作为背景的提交按钮 |
hidden | 隐藏域,不可见的输入框 |
file | 文本域,用于上传文件等非文本数据 |
文本输入框和密码框
除了显示形式不一样,其它属性一样,有以下属性:
- name —— 定义文字字段名称,用于和其它控件区别,不能包含特殊字符,也不可使用html 标签名称
- maxlength —— 定义文本框可输入字符最大长度
- size —— 定义文本框在页面中显示的长度
- vaule —— 定义文本框中默认的值
如下是文本输入框和密码框制作一个登录表单
html代码:
<!DOCTYPE html>
<html>
<body>
<h1>用户登录</h1>
<form action="/demo/html/action_page.php">
<label for="fname">用户名:</label><br>
<input type="text" id="username" name="username" value=""><br>
<label for="lname">密码:</label><br>
<input type="password" id="pwsd" name="pwsd" value=""><br><br>
<input type="submit" value="提交">
</form>
</body>
</html>
显示效果:
HTML5 输入类型
除了以上几种类型,HTML5 还增加了多个新的输入类型:
- color
- date
- datetime
- datetime-local
- month
- number
- range
- search
- tel
- time
- url
- week
如下代码:
<!DOCTYPE html>
<html>
<body>
<form action="/demo/demo_form.asp">
数字类型(1 到 5 之间):
<input type="number" name="quantity" min="1" max="5">
IE9 及早期版本不支持 type="number"。<br>
color 选择颜色:
<input type="color" name="color"><br>
生日:
<input type="date" name="bday"><br>
年月:
<input type="month" name="bdaymonth"><br>
年周:
<input type="week" name="week_year"><br>
时间:
<input type="time" name="usr_time"><br>
一定范围
<input type="range" name="points" min="0" max="10"><br>
E-mail:
<input type="email" name="email">
能够在被提交时自动对电子邮件地址进行验证<br>
搜索:
<input type="search" name="googlesearch"><br>
电话:
<input type="tel" name="usrtel">
目前只有 Safari 8 支持 tel 类型。<br>
url:
<input type="url" name="url">
提交时能够自动验证 url 字段<br>
<input type="submit">
</form>
</body>
</html>
效果如下:
单选和多选按钮
使用 type = “radio” 和 type =“checkbox” 定义是单选还是多选,除了name和value属性外,单选和多选都有一个 checked属性定义默认选择的项,checked = “true”指选中那个选项,表单会将 checked = “true” 的选型值传递给后台。
如下实例:
<!DOCTYPE html>
<html>
<body>
<h4>单选和多选</h4>
<form action="/demo/demo_form.asp">
水果:
<input type="radio" name="shuiguo" value="banner" checked> 香蕉
<input type="radio" name="shuiguo" value="apple"> 苹果
<br><br>
省份:
<input type="checkbox" name="shengfen" value="shannxi" checked> 陕西
<input type="checkbox" name="shengfen" value="sanxi"> 山西
<input type="checkbox" name="shengfen" value="gdong"> 广东
<br><br>
<input type="submit">
</form>
</body>
</html>
显示效果:
单选和多选传递给后台的数据是不一样的,如下会看到地址栏中的数据,多选会发送多个值,后台将会获取一个数组形式的数据。
/demo/demo_form.asp?shuiguo=banner&shengfen=shannxi&shengfen=sanxi
普通按钮、提交按钮、重置按钮
普通按钮:type = “button”,一般配合脚本使用,语法如下:
<input type="button" name="名称" value="按钮值" onclick="脚本程序" />
value 值就是按钮在页面显示的文字,onclick属性定义了脚本事件,这里指单击按钮时所进行的处理。
如下示例:
<!DOCTYPE html>
<html>
<body>
<form>
<input type="button" value="普通按钮">
<input type="button" value="打开窗口" onclick="window.open()">
<input type="button" value="您好" onclick="alert('您好')">
</form>
</body>
</html>
提交按钮:type = “submit”,用于提交表单内容,是一种特殊按钮。
如刚才的登录表单,提交后会返回结果:
重置按钮:type="reset",用于清除表单数据,也是一种特殊按钮。
点击重置按钮后,表单数据清空
HTML5 按钮
除了使用input定义按钮,还可以使用 html5 新增的<button> 标签定义按钮,button 使用语法如下:
<form action="/demo/html/action_page.php">
<button type="button">普通按钮</button>
<button type="submit">提交按钮</button>
</form>
其它输入类控件
隐藏域 —— hidden
文件域 —— file
如下示例:
<form action="/demo/html/action_page.php">
<label for="fname">隐藏域:</label>
<input type="hidden" id="hidden" name="hidden" value=""><br>
<label for="lname">文件域:</label>
<input type="file" id="file" name="file" value=""><br>
<input type="submit" value="提交">
</form>
显示效果
可以看到,隐藏域在页面中不显示,单击文件域选择文件按钮可以选择文件,比如word文件,电子表格文件等,会以非文本方式传送到后台的,常用来实现文件上传功能。
文本域 —— textarea
除了input 类型的控件,还有文本域 textarea ,一种特殊的文本框,它与input 文本输入框的区别就是可以输入多行文字,input 文本输入框是单行的无法输入多行文字。
如下示例:
<p>textarea 元素定义多行输入字段。</p>
<form action="/demo/html/action_page.php">
<textarea name="message" rows="10" cols="30">The cat was playing in the garden.</textarea>
<br><br>
<input type="submit">
</form>
效果如下:
rows 属性定义文本域的高度是几行,cols 定义文本域宽度占几列,比如上面定义了高10行宽30列的文本域。
下拉菜单和多选列表
下拉菜单作用和单选按钮类似,只不过它更加节省空间,当要选择的选型很多时,就不适合使用radio空间,所以当选项很多的时候,使用下拉菜单,语法如下:
<select name="名称">
<option value="选项值1" selected>选项1</option>
<option value="选项值2">选项3</option>
更多option......
</select>
多选列表和多选按钮类似,一样为了节省空间,当数据选项比较多时,使用多选列表,语法如下:
<select name="名称" size="可看见的列表项数" multiple>
<option value="选项值1" selected>选项1</option>
<option value="选项值2">选项3</option>
更多option......
</select>
多选比下拉菜单不同之处是多了一个multiple属性,定义多选的,且表现形式也不一样,不是下拉而是一个列表。
如下代码:
<!DOCTYPE html>
<html>
<body>
<form action="/demo/demo_form.asp">
下拉菜单:<br>
<select name="cars">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="fiat">Fiat</option>
<option value="audi">Audi</option>
</select>
<br>
多选列表:<br>
<select name="cars" size="3" multiple>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="fiat">Fiat</option>
<option value="audi">Audi</option>
</select>
<br><br>
<input type="submit">
</form>
</body>
</html>
显示效果:
这里需要注意的是,多选列表多选时需要按住ctrl键同时鼠标单击选择才能多选,效果如下:
到这里,已介绍了大部分的表单控件,现在你可以使用他们制作自己的表单,表单通常在动态网站中使用,这为以后制作动态网站打下基础。
还有许多属性没有讲到,比如html5新增的一些属性和功能,可自行参考 w3cshool 等网站学习,感谢关注,学习愉快!
上篇 : 前端入门——html 表单
下篇: 前端入门 —— 网页中使用窗口框架
- 上一篇:JavaScript全解析——DOM事件(下)
- 下一篇:CSS第3级选择器语法汇总
相关推荐
- 悠悠万事,吃饭为大(悠悠万事吃饭为大,什么意思)
-
新媒体编辑:杜岷赵蕾初审:程秀娟审核:汤小俊审签:周星...
- 高铁扒门事件升级版!婚宴上‘冲喜’老人团:我们抢的是社会资源
-
凌晨两点改方案时,突然收到婚庆团队发来的视频——胶东某酒店宴会厅,三个穿大红棉袄的中年妇女跟敢死队似的往前冲,眼瞅着就要扑到新娘的高额钻石项链上。要不是门口小伙及时阻拦,这婚礼造型团队熬了三个月的方案...
- 微服务架构实战:商家管理后台与sso设计,SSO客户端设计
-
SSO客户端设计下面通过模块merchant-security对SSO客户端安全认证部分的实现进行封装,以便各个接入SSO的客户端应用进行引用。安全认证的项目管理配置SSO客户端安全认证的项目管理使...
- 还在为 Spring Boot 配置类加载机制困惑?一文为你彻底解惑
-
在当今微服务架构盛行、项目复杂度不断攀升的开发环境下,SpringBoot作为Java后端开发的主流框架,无疑是我们手中的得力武器。然而,当我们在享受其自动配置带来的便捷时,是否曾被配置类加载...
- Seata源码—6.Seata AT模式的数据源代理二
-
大纲1.Seata的Resource资源接口源码2.Seata数据源连接池代理的实现源码3.Client向Server发起注册RM的源码4.Client向Server注册RM时的交互源码5.数据源连接...
- 30分钟了解K8S(30分钟了解微积分)
-
微服务演进方向o面向分布式设计(Distribution):容器、微服务、API驱动的开发;o面向配置设计(Configuration):一个镜像,多个环境配置;o面向韧性设计(Resista...
- SpringBoot条件化配置(@Conditional)全面解析与实战指南
-
一、条件化配置基础概念1.1什么是条件化配置条件化配置是Spring框架提供的一种基于特定条件来决定是否注册Bean或加载配置的机制。在SpringBoot中,这一机制通过@Conditional...
- 一招解决所有依赖冲突(克服依赖)
-
背景介绍最近遇到了这样一个问题,我们有一个jar包common-tool,作为基础工具包,被各个项目在引用。突然某一天发现日志很多报错。一看是NoSuchMethodError,意思是Dis...
- 你读过Mybatis的源码?说说它用到了几种设计模式
-
学习设计模式时,很多人都有类似的困扰——明明概念背得滚瓜烂熟,一到写代码就完全想不起来怎么用。就像学了一堆游泳技巧,却从没下过水实践,很难真正掌握。其实理解一个知识点,就像看立体模型,单角度观察总...
- golang对接阿里云私有Bucket上传图片、授权访问图片
-
1、为什么要设置私有bucket公共读写:互联网上任何用户都可以对该Bucket内的文件进行访问,并且向该Bucket写入数据。这有可能造成您数据的外泄以及费用激增,若被人恶意写入违法信息还可...
- spring中的资源的加载(spring加载原理)
-
最近在网上看到有人问@ContextConfiguration("classpath:/bean.xml")中除了classpath这种还有其他的写法么,看他的意思是想从本地文件...
- Android资源使用(android资源文件)
-
Android资源管理机制在Android的开发中,需要使用到各式各样的资源,这些资源往往是一些静态资源,比如位图,颜色,布局定义,用户界面使用到的字符串,动画等。这些资源统统放在项目的res/独立子...
- 如何深度理解mybatis?(如何深度理解康乐服务质量管理的5个维度)
-
深度自定义mybatis回顾mybatis的操作的核心步骤编写核心类SqlSessionFacotryBuild进行解析配置文件深度分析解析SqlSessionFacotryBuild干的核心工作编写...
- @Autowired与@Resource原理知识点详解
-
springIOCAOP的不多做赘述了,说下IOC:SpringIOC解决的是对象管理和对象依赖的问题,IOC容器可以理解为一个对象工厂,我们都把该对象交给工厂,工厂管理这些对象的创建以及依赖关系...
- java的redis连接工具篇(java redis client)
-
在Java里,有不少用于连接Redis的工具,下面为你介绍一些主流的工具及其特点:JedisJedis是Redis官方推荐的Java连接工具,它提供了全面的Redis命令支持,且...
- 一周热门
- 最近发表
- 标签列表
-
- mybatiscollection (79)
- mqtt服务器 (88)
- keyerror (78)
- c#map (65)
- resize函数 (64)
- xftp6 (83)
- bt搜索 (75)
- c#var (76)
- mybatis大于等于 (64)
- xcode-select (66)
- mysql授权 (74)
- 下载测试 (70)
- linuxlink (65)
- pythonwget (67)
- androidinclude (65)
- logstashinput (65)
- hadoop端口 (65)
- vue阻止冒泡 (67)
- oracle时间戳转换日期 (64)
- jquery跨域 (68)
- php写入文件 (73)
- kafkatools (66)
- mysql导出数据库 (66)
- jquery鼠标移入移出 (71)
- 取小数点后两位的函数 (73)