首页 > 其他分享 >前端成长之路:HTML(4)

前端成长之路:HTML(4)

时间:2024-12-14 22:59:47浏览次数:13  
标签:用户 标签 前端 元素 成长 表单 HTML input 属性

前文提到,在HTML中,表格是为了展示数据,表单是为了提交数据。表单标签是十分重要的标签,在网页中,需要和用户进行交互,收集用户信息等,此时就需要使用表单。表单可以将前端收集到的用户输入的信息提交到后端进行处理。本文主要介绍表单标签。

表单标签

在HTML中,一个完整的表单一般是由三个部分构成:1.表单域,2.表单控件(也可以叫表单元素),3.提示信息。 这三个部分才构成了一个完整的表单。

表单域

表单域是一个包含表单元素的区域。在HTML中,通过<form>标签定义一个表单域,在表单域中实现用户信息的收集和传递(提交)。<form>会将其范围内的表单元素信息提交给服务器(通过action指定)。

form标签中有几个常见的属性(可以说是必须的属性):

1.action:属性值是URL地址,其用于指定接收并处理表单提交数据的服务器程序的URL地址。

2.method:属性值是表单提交的方式(get/post),其用于设置表单数据提交到服务器的提交方式,其值一般为get或post。

3.name:属性值是该表单的名字,其用于指定表单的名称,可以用于区分同一个页面中存在的多个表单域(不同的表单域有不同的名称)。

在书写表单元素之前,必须有一个表单域将其包含,也就是说,所有的表单元素都必须写在表单域中,表单域就是form标签。

这就是一个简单的表单域,这个表单域指定了接收并处理表单提交数据的服务器程序的URL地址(这里使用#代替),将表单的提交方式设置为post方式提交,并且将表单命名为form_test用于区分。

表单控件(表单元素)

在表单域中可以定义各种各样的表单元素,这些表单元素就是允许用户在表单中输入信息或者选择内容的控件。换句话说,用户的数据实际上是在表单元素中输入(选择)的,然后通过表单域进行提交的。 下文介绍一下在日常使用广泛的几个表单元素:

input

input的中文意思是输入,恰如其义,在表单元素中,<input>标签用于收集用户的信息。在<input>标签中,包含一个type属性,根据不同的type属性值,用户输入的字段就有很多种形式:可以是文本字段、复选框、单选按钮等等。总结一下: input标签可以让用户输入信息到表单中,并通过type属性设置不同的属性值,指定不同的控件类型。

常见的type属性:

1.button:定义一个可点击的按钮(绝大部分情况下都是配合JavaScript启动脚本)。

2.checkbox:定义一个复选框。

3.file:定义输入字段和“浏览”按钮,可以用来文件上传。这里提一嘴,form表单中的file表单元素是文件上传必不可少的!

4.hidden:定义隐藏的输入字段。

5.image:定义图像形式的提交按钮。

6.password:定义密码字段,密码字段中的字符将会被掩盖。

7.radio:定义单选按钮。

8.reset:定义重置按钮,点击重置按钮之后会清楚该表单中所有的数据。

9.submit:定义提交按钮,点击提交按钮之后将会将整个表单域中的数据发送到action属性中指定的服务器中。

10.text:定义单行的输入字段,用户可以在输入字段中输入文本,其默认宽度为20个字符。

除开input标签中最重要的type属性之外,input标签还有其他很多属性,这里也介绍一些比较常用的属性:

1.name:属性值由用户自定义,该属性用于定义input元素的名字,便于多个input之间的区分。

2.value:属性值由用户自定义,该属性用于规定input元素的值,主要是给后端使用。

3.checked:属性值为checked,该属性是规定input首次加载时应该被选中。(可以让用户在页面加载时就看到某些选项已经被预先选中,而不需要手动去点击它们,主要用于选择框。)

4.maxlength:属性值为正整数,该属性是规定字段中字符的最大长度。这个属性一般不会使用。

注意:name 和value 是每个表单元素都有的属性值,主要给后台人员使用;name指定单元素的名字,要求 复选框必须要有相同的name值(这样才能进行复选);checked属性主要针对于单选按钮和复选框,主要作用一打开页面,就要可以默认选中某个表单元素。

input几个小问题

Q:如果我想要某些表单元素刚打开页面就默认显示一些文字作为提示,我该怎么做?

A:可以给这些表单元素设置placeholder属性=“值”,比如有这么一个需要用户输入用户名的表单项:

 

当开始在文本框中输入时,提示文本将自动消失。

Q:页面中有太多的表单元素了,我该如何区分这些不同的表单元素?

A:通过input标签中的name属性进行区分,name属性就是当前表单元素的名字,后台可以通过name属性找到该表单元素。name属性的值是自定义的,但是假如使用radio(单选框)或者checkbox(复选框),必须给一组的选择都命名为相同的名字。(否则无法完成选择)

Q:如何实现页面一打开就让某个单选按钮或者复选框处于选中状态?

A:通过input中的checked属性,checked属性值设置为checked,表示该选项默认选中,一般使用于单选按钮或多选按钮。

 

(发现确实设置了checked属性的表单元素被默认选择了。)

label标签

在表单中,通常可以使用<label>标签为<input>标签定义标注。 label标签用于绑定表单中的一个表单元素,当点击label标签内的文本时,浏览器就会自动将焦点(光标)聚焦于label所绑定的表单元素上,通过这样,可以提升用户的体验。

label标签绑定的核心是:通过标签的for属性绑定需要绑定元素的id,换句话说:label标签的for属性必须和想要绑定的元素的id相同才能正确绑定。

 这样,在页面中直接点击label中的文字,就可以将光标聚焦于label标签所绑定的表单元素上了。对于文本框而言,光标聚焦后就可以直接开始输入文字;对于单选框(复选框)而言,光标聚集就相当于选择(但是一般不这么用,这不符合用户的习惯),并且假如label中for有多个对应的元素(多个元素有相同的id值),那么会产生不可预测的结果。

select标签

假如在页面中想要让用户进行选择,但是又需要让页面布局整洁并尽量节约空间,那么可以使用<select>标签定义一个下拉列表让用户进行选择。可以通过<option>标签在select标签中定义不同的选项,注意:select中至少包含一对option标签;可以通过option标签中的selected属性指定当前选项为这个下拉列表的默认选项,当selected="selected"时,当前项即为默认选中项。

此时,学生选项是这个select下拉列表的默认选中项:

 

有一个细节,option标签中会使用value属性代表这个选项的值,这个值会作为表单数据的一部分发送给后端。常见用数字进行代替真实值(比如用1代替学生),便于后端进行处理,这需要前后端按照约定进行编码。

textarea

上文提到,input中的text可以让用户输入一些文本,但是当用户输入的内容较多的情况下,就不能单纯的使用文本框了,此时就需要使用<textarea>标签,在表单元素中,textarea标签可以用于定义多行文本输入,使用textarea可以输入更多的文字,该控件常见于留言板和评论区。

还可以通过textarea中的属性控制文本域的大小,cols可以控制文本域中每一行的字符数、rows可以控制文本域显示的行数,但是这些我们都不会使用,而是通过CSS来控制大小。 

标签:用户,标签,前端,元素,成长,表单,HTML,input,属性
From: https://blog.csdn.net/Aishangyuwen/article/details/144438839

相关文章

  • 技术转型:40岁前端工程师的新征程
    在互联网行业,40岁转型是个既敏感又现实的话题。特别是对于一位有着PHP和前端双重背景的开发者来说,转向Java或全栈是个既充满机遇又富有挑战的选择。让我们深入分析这个转型决策背后的方方面面。时代在变,技术在迭代,但经验的价值永远不会贬值。一个有着09年PHP经验、15年后专注......
  • 数字IC前端学习笔记:脉动阵列的设计方法学(二)
    相关阅读数字IC前端_日晨难再的博客-CSDN博客https://blog.csdn.net/weixin_45791458/category_12173698.html?spm=1001.2014.3001.5482引言    脉动结构(也称为脉动阵列)表示一种有节奏地计算并通过系统传输数据的处理单元(PEs)网络。这些处理单元有规律地泵入泵出数......
  • 深入浅出HTML
    HTML全套基础教程-html实战开发-深入浅出HTMLhttps://www.bilibili.com/video/BV11t411K74QP1001-老杜-HTML-课程内容概述P2002-老杜-HTML-BS结构介绍ui美术psHTML1、系统结构:B/s架构:(以后主要走的方向是这个。)Browser/Server(浏览器/服务器的交互形式。)Browser支持哪......
  • php毕业设计期末作业购物商城php+mysql+html在线购物系统购物商城购物网站宠物商城电
     一,功能介绍        前台主要包括网站首页、商品推荐、最新商品、新闻咨询、商品分类、商品资讯、评论、登录、注册、加入购物车、结算、个人中心等功能模块商品推荐、最新商品在商品推荐、最新商品模块,用户可以查看全部商品信息,选择商品进行添加购物车等操作,购......
  • javaweb前端部分
     一HTMLHTML(HyperTextMarkupLauguage):超文本标记语言1超文本:超越了文本的限制,比普通文本更强大。除了文字信息,还可以定义图片,音频,视频等内容。2标记语言:由标签构成的语言。HTML:标签都是预定义好的。例如:使用<a>展示超链接,使用<img>展示图片,<video>展示视频。HTML:......
  • uniapp精仿微信UI,基于SumerUI和Uniapp前端框架的一款仿微信APP应用,界面漂亮颜值高,视频
    uniapp精仿微信UI,基于SumerUI和Uniapp前端框架的一款仿微信APP应用,界面漂亮颜值高,视频商城小工具等,朋友圈视频号即时聊天用于视频,商城,直播,聊天,等等场景,源码分享sumer-weixin介绍uniapp精仿微信UI界面,基于SumerUI3.0和Uniapp前端框架的一款仿微信APP应用,界面漂亮颜值高,......
  • 渗透测试-前端验签绕过之SHA256+RSA
    本文是高级前端加解密与验签实战的第2篇文章,本系列文章实验靶场为Yakit里自带的Vulinbox靶场,本文讲述的是绕过SHA256+RSA签名来爆破登录。绕过根据提示可以看出这次签名用了SHA2556和RSA两个技术进行加密。查看源代码可以看到RSA公钥是通过请求服务器获取:请求一下:http://127......
  • 07相关软件的安装以及HTML介绍
    一、内容回顾这个软件从1.0就开始收费了,这里使用这个版本这里将侧边栏打开这个typora软件支持Markdown的格式,markdown格式是我们经常会使用到的笔记格式的形式,后缀名是md这种语法在整理笔记是比较方便的1、标题加上#号表示是标题,这个和H1,H2...标签类似加上不同的井号个数......
  • intellij-idea+vue前端调试配置
    一、安装vue插件二、idea->EditConfiguration1、如图,添加类型为npm的配置;执行脚本内容为dev;这一步等同于用控制台终端手动执行npmrundev;用于启动node服务器。A、配置服务B、配置debug默认浏览器1、点击配置弹出如下界面,点击浏览器设置(标识1)2、自定义地址(标识2),......
  • 【2024年最受欢迎Angular课程】零基础自学的前端框架完整版教程
    【2024年最受欢迎Angular课程】零基础自学的前端框架完整版教程https://www.bilibili.com/video/BV1FZ42127cd/ 1-1015+1901、angular介绍angular.cnngserve--openvite...angular112.2主要特性1.AngularCLI可以快速搭建框架,创建module,service,class,directive等2......