Web前端开发笔记——第二章 HTML语言 第八节 表单标签

简介: Web前端开发笔记——第二章 HTML语言 第八节 表单标签

一、表单的定义


表单用于收集用户的输入信息,它是一个区域,在这个区域里添加表单元素即可收集用户的信息,表单元素可以是文本、单选框、复选框、按钮、下拉菜单等等。

比如下面的qq登录页面,它就是一个表单:

1667057442735.jpg

表单用<form></form>标签表示,它有个重要的属性为action属性,action后跟数据处理网页的URL,表示收集用户的数据交由该页面进行处理,它表示为<form action="">表单元素</form>,其它的属性这里不做展开。


二、输入标签


在form标签内加上<input>标签,它用于用户输入信息,且input标签是单独出现的。


(一)文本框和密码框


input标签通过添加type属性后的取值来表示文本框和密码框,通过添加id属性唯一定位到该元素,另外还有name属性,该属性规定 input 标签的名称,即该表单元素的名称。

一个文本框或密码框的默认宽度是20个输入字符,也可以通过设置size属性来限制输入的字符。

文本框表示为:

<input type="text" id="" name="" size="" />

例如,在HBuilder X中,下列html代码,该表单由两个输入标签的文本框组成:

<!DOCTYPE html>
<html>
  <head>
  <meta charset="utf-8">
  <title></title>
  </head>
  <body>
  <form>
    <h2>登录页面</h2>
    <p>账号:<input type="text" name="User_id" /></p>
    <p>密码:<input type="text" name="User_password" /></p>
  </form>
  </body>
</html>

运行结果如下,输入内容:

1667057808322.jpg

密码框与文本框的区别是当在输入内容时,其文本内容是由星号或者小圆点替代显示输入内容的,密码框表示为:

<input type="password" name="" size="" />

例如,在HBuilder X中,下列html代码,该表单由输入标签的一个文本框和一个密码框组成的:

<!DOCTYPE html>
<html>
  <head>
  <meta charset="utf-8">
  <title></title>
  </head>
  <body>
  <form>
    <h2>登录页面</h2>
    <p>账号:<input type="text" name="User_id" /></p>
    <p>密码:<input type="password" name="User_password" /></p>
  </form>
  </body>
</html>

运行结果如下,可见我们输入的密码是由暗文显示的:

1667057838255.jpg


(二)提交按钮和重置按钮


按钮分为提交按钮和重置按钮。input标签通过添加type属性、value属性和name属性来表示,即type="submit"时表示提交按钮,而type="reset"时表示重置按钮,vlaue=""表示按钮上面的文字,name=""表示该按钮的名称。

例如,在HBuilder X中,下列html代码,该表单由输入标签的一个文本框和一个密码框组成的,输入后由提交按钮点击登录,或者点击重置按钮重新输入内容:

<!DOCTYPE html>
<html>
  <head>
  <meta charset="utf-8">
  <title></title>
  </head>
  <body>
  <form>
    <h2>登录页面</h2>
    <p>账号:<input type="text" value="" name="User_id" /></p>
    <p>密码:<input type="password" value="" name="User_id" /></p>
    <input type="submit" name="log_submit" value="登录" />
    <input type="reset" name="Rese_submit" value="重置" />
  </form>
  </body>
</html>

运行结果如下:

1667057867559.jpg

点击重置后,输入内容会被全部清除:

1667057874759.jpg


(三)数值选项菜单


通过在input标签中添加type="number"属性,定义一个数值选项菜单。且通过name=""属性定义名称、min=""属性和max=""属性限制输入的最小、最大值,另外还可以通过定义maxlength="“属性限制输入的最大字符长度、value=”"属性表示输入的默认值。

<input type="number" name="" min="" max="" value="" maxlength="">

例如,在HBuilder X中,下列html代码,选择出生日期,我们将出生日期年月日默认值为2000/01/01,且设置了输入年月日的最小最大值:

<!DOCTYPE html>
<html>
  <head>
  <meta charset="utf-8">
  <title></title>
  </head>
  <body>
  <form>
    <h3>请输入你的出生日期:</h3>
    <form>
    <p>
      <input type="number" name="year" min="1900" max="2021" value="2000" />年
      <input type="number" name="month" min="01" max="12" value="01" />月
      <input type="number" name="day" min="01" max="31" value="01" />日
    </p>
    </form>
  </body>
</html>

运行结果如下:

1667058003852.jpg

可以通过点击上下箭头或者直接输入来改变日期:

1667058011560.jpg


(四)滑动条


通过在input标签中添加type=range属性,定义一个滑动条,一般用于模糊选择,即可以拖到滑动条进行选择。且通过name=""属性定义名称、min=""属性和max=""属性限制滑动的最小、最大值,还可以通过step=""属性设置数字间隔。

例如,在HBuilder X中,下列html代码中:

<!DOCTYPE html>
<html>
  <head>
  <meta charset="utf-8">
  <title></title>
  </head>
  <body>
  <form>
    <h3>请选择你的班级:</h3>
    <form>
    <input type="range" name="class" min="01" max="10" step="1" />班
    <input type="submit" name="log_submit" value="提交" />
    </form>
  </body>
</html>

运行结果如下,因为设置了step=“1”,即数字间隔为1,每拖动滑块就增加1:

1667058041050.jpg


(五)搜索框


通过在input标签中添加type="search"属性,定义一个搜索框。

例如,在HBuilder X中,下列html代码:

<!DOCTYPE html>
<html>
  <head>
  <meta charset="utf-8">
  <title></title>
  </head>
  <body>
  <form>
    <form>
    <p>Search:<input type="search" name="class" />
    <input type="submit" name="log_submit" value="搜索" /></p>
    </form>
  </body>
</html>

运行结果如下:

1667058071459.jpg


(六)input标签的其它type属性


另外,还可以通过设置input标签中的type=“color”type=“date”type="email"来选取颜色、选择日期、输入email地址。


(七)单选框和复选框


单选框只能选择一项,而复选框可以选择多项,例如下图就是个复选框,不过也进行了限制,只能最多选择三项:

1667058098783.jpg

input标签通过添加type属性、vlaue属性、name属性以及checked属性来设置单选框和复选框。type="radio" 表示单选框,而type="checkbox"表示多选框,vlaue=""表示提交给后端的数据,name=""表示单个项的名称, checked="checked"表示该项被默认选中。

例如,在HBuilder X中,下列html代码的选课页面,物理或历史是必须选择的,所以它默认选中,另外在剩下四项中选择两项:

<!DOCTYPE html>
<html>
  <head>
  <meta charset="utf-8">
  <title></title>
  </head>
  <body>
  <form>
    <h2>选课页面</h2>
    <p>一、请在以下两项中选择一项,物理或历史必选:<br />
    物理<input type="radio" name="necessary" value="选择物理" checked="checked" />
    历史<input type="radio" name="necessary" value="选择历史" />
    <br />
    二、其它科目为自选,请在以下四项中选择两项:<br />
    化学<input type="checkbox" name="ch" value="选择化学" />
    生物<input type="checkbox" name="bi" value="选择生物" />
    政治<input type="checkbox" name="po" value="选择政治" />
    地理<input type="checkbox" name="ph" value="选择地理" />
    </p>
    <input type="submit" name="log_submit" value="提交" />
  </form>
  </body>
</html>

运行结果如下,我们可以发现我们定义的两个单选框,其两个input标签的name属性是一样的,这样才能保证只能选择一个选项,且若不做选择,会默认选择“物理”科目:

1667058126483.jpg

而若想控制复选框中选择的限制数量,就要用到javascript,这里不做进一步,只是了解。


(八)带边框的表单


通过<fieldset></fieldset>标签,设置一个带边框的表单,其中在fieldset标签内输入<legend></legend>标签,可添加该表单的名称。另外在legend标签内定义输入标签input的属性。

如下,在HBuilder X中,下列html代码,创建一个带边框的表单,其名称为信息栏:

<!DOCTYPE html>
<html>
  <head>
  <meta charset="utf-8">
  <title></title>
  </head>
  <body>
  <form>
    <fieldset>
    <legend>信息栏:</legend>
    姓名:<input type="text" size="10"><br />
    性别:<input type="text" size="10"><br />
    身份证号:<input type="text" size="20"><br />
    <input type="submit" name="log_submit" value="提交" />
    <input type="reset" name="reset_submit" value="重置" />
    </fieldset>
  </form>
  </body>
</html>

运行结果如下:

1667058161620.jpg


三、下拉菜单


(一)默认选项的下拉菜单


使用<select></select>选项标签,通过下拉菜单选择内容,使用name属性,select name=""表示定义下拉菜单的名称。

其中每一项都用<option>选项</option>标签表示其中的选项,设置value属性,表示送往目标服务器的值。

<select name="">
  <option value=""></option>
  <option value="" selected="selected"></option>
</select>

当设置option标签的属性selected="selected",即<option selected="selected">选项</option>时表示默认选择的选项,它会在下拉菜单上的文本框中显示。

例如,在HBuilder X中,下列html代码的选课页面中,设置下拉菜单,选择物理或者历史,默认选项为物理:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<body>
    <form>
        <h2>选课页面</h2>
        <p>请在以下两项中选择一项,物理或历史为必选:
            <select name="Course selection">
                <option value="physics" selected="selected">
                    物理
                </option>
                <option value="politics">
                    历史
                </option>
            </select>
        </p>
        <input type="submit" name="log_submit" value="提交" />
    </form>
</body>
</html>

运行结果如下:

1667058226419.jpg


(二)自动填充选项的下拉菜单


通过在表单中输入标签内加入<datalist></datalist>标签,并定义一个下拉菜单,从而实现在输入选项时,会匹配相应的选项。 在输入标签的list属性引用 datalist标签的id属性,并通过<option></option> 标签在 datalist标签内配置下拉菜单的选项。

例如,在HBuilder X中,下列html代码中,当输入选项中一个字母时,它会自动匹配相应的选项:

<!DOCTYPE html>
<html>
  <head>
  <meta charset="utf-8">
  <title></title>
  </head>
  <body>
  <form>
    <h3>Please select account:</h3>
    <input list="subjecs" name="select account">
    <datalist id="subjecs">
    <option value="Chinese">
    <option value="Math">
    <option value="English">
    <option value="Physics">
    <option value="Chemistry">
    <option value="Biology">
    </datalist>
    <input type="submit" name="log_submit" value="确定">
  </form>
  </body>
</html>

运行结果如下:

1667058261826.jpg

当输入Chinese的首字母"C"或者"c"时,它会自动匹配菜单栏中带有相应匹配的选项,并在下拉菜单栏显示:

1667058273429.jpg


四、文本域


通过<textarea></textarea>文本域标签,可以定义一大块的文本区域,它有以下的属性,rows属性定义该文本域的行数,cols属性定义该文本域的列数,name属性表示该文本域的名称,id属性代表定义该文本域的唯一 id 值。

<textarea name="" id="" cols="" rows=""></textarea>

例如,在HBuilder X中,下列html代码中,设置一个行数为30,列数为10的文本域:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<body>
    <form>
        <h2>反馈</h2>
        <p>在下面输入您要反馈的内容:</p>
        <textarea name="page" id="page" cols="30" rows="10"></textarea>
        <input type="submit" name="loge_submit" value="提交" />
        <input type="reset" name="reset_submit" value="清除" />
    </form>
</body>
</html>

运行结果如下:

1667058312337.jpg

另外可以通过添加属性maxlength=""来限制该文本区域允许输入的最大字符数,还可以通过添加readonly>属性,在readonly>其后输入内容,使用户无法更改已经写入的文本。

<textarea name="" id="" cols="" rows="" maxlength="" readonly></textarea>


相关文章
|
并行计算 前端开发 JavaScript
Web Worker:让前端飞起来的隐形引擎
在现代 Web 开发中,前端性能优化是一个至关重要的课题,尤其是对于计算密集型的应用,如图像处理、视频处理、大规模数据分析等任务。单线程的 JavaScript 引擎常常成为性能瓶颈,导致应用变得迟缓。Web Worker,作为一种强大的技术,使得前端能够在后台进行并行计算,从而实现高效的任务处理,不影响主线程的运行和用户的交互体验。
902 108
|
Web App开发 编解码 移动开发
零基础音视频入门:你所不知道的Web前端音视频知识
本文回顾了Web端音视频的发展历程,同时还介绍了视频的编码、帧率、比特率等概念,提到了Canvas作为视频播放的替代方案,以及FFmpeg在音视频处理中的重要作用等知识。
427 1
|
前端开发
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
1325 1
【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
|
11月前
|
算法 Java Go
【GoGin】(1)上手Go Gin 基于Go语言开发的Web框架,本文介绍了各种路由的配置信息;包含各场景下请求参数的基本传入接收
gin 框架中采用的路优酷是基于httprouter做的是一个高性能的 HTTP 请求路由器,适用于 Go 语言。它的设计目标是提供高效的路由匹配和低内存占用,特别适合需要高性能和简单路由的应用场景。
738 4
|
缓存 JavaScript 前端开发
鸿蒙5开发宝藏案例分享---Web开发优化案例分享
本文深入解读鸿蒙官方文档中的 `ArkWeb` 性能优化技巧,从预启动进程到预渲染,涵盖预下载、预连接、预取POST等八大优化策略。通过代码示例详解如何提升Web页面加载速度,助你打造流畅的HarmonyOS应用体验。内容实用,按需选用,让H5页面快到飞起!
|
JavaScript 前端开发 API
鸿蒙5开发宝藏案例分享---Web加载时延优化解析
本文深入解析了鸿蒙开发中Web加载完成时延的优化技巧,结合官方案例与实际代码,助你提升性能。核心内容包括:使用DevEco Profiler和DevTools定位瓶颈、四大优化方向(资源合并、接口预取、图片懒加载、任务拆解)及高频手段总结。同时提供性能优化黄金准则,如首屏资源控制在300KB内、关键接口响应≤200ms等,帮助开发者实现丝般流畅体验。
|
前端开发 JavaScript Shell
鸿蒙5开发宝藏案例分享---Web页面内点击响应时延分析
本文为鸿蒙开发者整理了Web性能优化的实战案例解析,结合官方文档深度扩展。内容涵盖点击响应时延核心指标(≤100ms)、性能分析工具链(如DevTools时间线、ArkUI Trace抓取)以及高频优化场景,包括递归函数优化、网络请求阻塞解决方案和setTimeout滥用问题等。同时提供进阶技巧,如首帧加速、透明动画陷阱规避及Web组件初始化加速,并通过优化前后Trace对比展示成果。最后总结了快速定位问题的方法与开发建议,助力开发者提升Web应用性能。
|
JSON 开发框架 自然语言处理
【HarmonyOS Next之旅】基于ArkTS开发(三) -> 兼容JS的类Web开发(三)
本文主要介绍了应用开发中的三大核心内容:生命周期管理、资源限定与访问以及多语言支持。在生命周期部分,详细说明了应用和页面的生命周期函数及其触发时机,帮助开发者更好地掌控应用状态变化。资源限定与访问章节,则聚焦于资源限定词的定义、命名规则及匹配逻辑,并阐述了如何通过 `$r` 引用 JS 模块内的资源。最后,多语言支持部分讲解了如何通过 JSON 文件定义多语言资源,使用 `$t` 和 `$tc` 方法实现简单格式化与单复数格式化,为全球化应用提供便利。
442 104
|
JavaScript 前端开发 API
【HarmonyOS Next之旅】基于ArkTS开发(三) -> 兼容JS的类Web开发(二)
本文介绍了HarmonyOS应用开发中的HML、CSS和JS语法。HML作为标记语言,支持数据绑定、事件处理、列表渲染等功能;CSS用于样式定义,涵盖尺寸单位、样式导入、选择器及伪类等特性;JS实现业务逻辑,包括ES6语法支持、对象属性、数据方法及事件处理。通过具体代码示例,详细解析了页面构建与交互的实现方式,为开发者提供全面的技术指导。
673 104

热门文章

最新文章