1、表单的构成

一个完整的表单由表单控件(表单元素)、提示信息和表单域3个部分构成。

  • 表单控件:包含了具体的表单功能项,如单行文本输入框、密码输入框、复选框、提交按钮、搜索框等。
  • 提示信息:一个表单中通常还需要包含一些说明性的文字,提示用户进行填写和操作。
  • 表单域:相当于一个容器,用来容纳所有的表单控件和提示信息,可以通过它定义、处理表单数据所用程序的url地址及数据提交到服务器的方法。

注:如果不定义表单域,表单中的数据就无法传送到后台服务器。

2、创建表单

<form></form>标记被用于定义表单域,即创建一个表单。

基本格式:

<html>
<head>
<title>创建表单</title>
<meta charset="utf-8"/>
</head> <body>
<form action="http://www.mysite.cn/index.asp" method="post">
<!--表单域-->
账号: <!--提示信息-->
<input type="text" name="zhanghao" /> <!--表单控件-->
密码: <!--提示信息-->
<input type="password" name="mima" /> <!--表单控件-->
<input type="submit" value="提交" /> <!--表单控件-->
</form>
</body>
</html>

注:<form></form>中的所有内容都会被提交给服务器。

3、表单属性

①.action属性:用于指定接收并处理表单数据的服务器程序的url地址。

例如:

<form action="form_action.asp">      <!--提交订单时,表单数据会传送到名为"form_action.asp"的页面去处理-->

注:action的属性值可以是相对路径和绝对路径,还可以为接收数据的E-mail邮箱地址。

<form action=mailto:thmlcss@163.com>    <!--提交表单时,表单数据会以电子邮件的形式传递出去-->

②.method属性:用于设置表单数据的提交方式。(取值为get或post)

例如:

<form action="form_action.asp" method="get">
  • get方法:浏览器将会按照下面两步来发送数据。首先:浏览器与action属性中指定的表单处理服务器建立联系,然后直接在一个传输步骤中发送所有的表单数据。
  • post方法:分两步来发送数据。首先:浏览器将于action属性中指定的表单处理服务器建立联系,然后,浏览器按分段传输的方法将数据发送给服务器。

注:get方法保密性差,不能大量传输数据。post方法保密性强,能大量传输数据。一般使用post方法。

③.name属性:name属性用于指定表单的名称。

用于指定表单的名称。

④.autocomplete属性

用于指定表单是否有自动完成功能。autocomplete属性有2个值,对他们的解释如下。

  • on:表单有自动完成功能。
  • off:表单无自动完成功能。

例如:

<html>
<head>
<title>autocomplete属性的使用</title>
<meta charset="utf-8"/>
</head> <body>
<form id="formBox" autocomplete="on">
用户名:
<input type="text" id="autofirst" name="autofirst" /><br/><br/>
昵&nbsp;&nbsp;称:
<input type="text" id="autosecond" name="autosecond"/><br/><br/>
<input type="submit" value="提交"/>
</form>
</body>
</html>

⑤.novalidate属性:指定在提交表单时取消对表单进行有效的检查。

例如:

<html>
<head>
<title>novalidate属性取消表单验证</title>
<meta charset="utf-8"/>
</head> <body>
<form action="form_action.asp" method="get" novalidate="true">
请输入电子邮件地址:<input type="email" name="user_email"/>
<input type="submit" value="提交"/>
</form>
</body>
</html>

4、input元素及属性

用途:<input />元素是表单中最常见的元素,网页中常见的有单行文本框、单选按钮、复选框等都是通过它定义的。

input元素的相关属性:

(1)、input元素的type属性:用于定义不同的控件类型。

①.单行文本输入框<input type="text" />
单行文本输入框常用来输入简短的信息,如用户名、账号、证件号码等,常用的属性有name、value、maxlength。
②.密码输入框<input type="password" />
密码输入框用来输入密码,其内容将以圆点的形式显示。
③.单选按钮<input type="radio" />
注:
定义单选按钮时,必须为同一组中的选项指定相同的name值,这样"单选"才会生效。
可以对单选按钮应用checked属性,指定默认选中项。
④.复选框<input type="checkbox" />
可对其应用checked属性,指定默认选中项。
⑤.普通按钮<input type="button" />
通常配合javascript脚本语言使用。
⑥.提交按钮<input type="submit" />
是表单的核心控件,用来在页面中使用户单击提交表单数据。
可以对其应用value属性,改变提交按钮上的默认文本。
⑦.重置按钮<input type="reset" />
当用户输入的信息有误时,可单击重置按钮取消已输入的所有表单信息。
可以对其应用vale属性,改变重置按钮上的默认文本。
⑧.图像形式的提交按钮<input type="image">
定义图像形式的提交按钮,必须为其定义src属性指定图像的url地址。
⑨.隐藏域<input type="hidden" />
隐藏域对于用户是不可见的,通常用于后台的程序。
⑩.文件域<input type="file" />
当定义文件域时,页面中将出现一个文本框和一个“浏览...”按钮,用户可以通过填写文件路径或直接选择文件的方式,将文件提交给后台服务器。

代码示例:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>input控件</title>
</head> <body>
<form action="#" method="post">
用户名: <!--text单行文本输入框-->
<input type="text" value="张三" maxlength="6" /><br/><br/>
密码: <!--passord密码输入框-->
<input type="password" size="40" /><br/><br/>
性别: <!--radio单选按钮-->
<input type="radio" name="sex" checked="checked" />男
<input type="radio" name="sex" />女<br/><br/>
兴趣: <!--checkbox复选框-->
<input type="checkbox" />唱歌
<input type="checkbox" />跳舞
<input type="checkbox" />游泳<br/><br/>
上传头像:
<input type="file" /><br/><br/> <!--file文件域-->
<input type="submit" /> <!--submit提交按钮-->
<input type="reset" /> <!--reset按钮重置-->
<input type="button" value="普通按钮" /> <!--button提交按钮-->
<input type="image" src="data:images/login.gif" /> <!--image图像域-->
<input type="hidden" /> <!--hidden隐藏域-->
</form>
</body>
</html>
⑪email类型<input type="email" />
专门用来输入E-mail地址的文本输入框。会自动验证输入内容是否符合E-mail邮件地址格式。
⑫url类型<input type="url" />
专门用来输入URL地址的输入框。有自动检查功能。
⑬tel类型<input type="tel" />
用于提供输入电话号码的输入框。通常会和pattern属性配合使用。
⑭search类型<input type="search" />
专门用于输入搜索关键字的文本框。
⑮color类型<input type="color" />
专门用于提供设置颜色的文本框,用于实现一个RGB颜色输入。

代码示例:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>input类型</title>
</head> <body>
<form action="#" method="get">
请输入您的邮箱:
<input type="email" name="formmail" /><br/>
请输入个人网址:
<input type="url" name="user_url" /><br/>
请输入电话号码:
<input type="tel" name="telphone" pattern="^\d{11}$" /><br/>
输入搜索关键词:
<input type="search" name="searchinfo" /><br/>
请选取一种颜色:
<input type="color" name="color1" />
<input type="color" name="color2" value="#FF3E96" />
<input type="submit" value="提交" />
</form>
</body>
</html>
⑯number类型<input type="number" />
用于提供输入数值的文本框。有自动检查功能。
可以对输入的数字进行限制,规定允许最大值和最小值,合法的数字间隔或默认值等。
◆value:指定输入框的默认值
◆max:指定输入框可以接受的最大的输入值
◆min:指定输入框可以接受的最小的输入值
◆step:输入与合法的间隔,如果不设置,默认值为1

代码示例:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>number类型的使用</title>
</head> <body>
<form action="#" method="get">
请输入数值:
<input type="number" name="number1" value="1" min="1" max="20" step="4"/><br/>
<input type="submit" value="提交"/>
</form>
</body>
</html>
⑰range类型<input type="range" />
用于提供一定范围内数值的输入范围,在页面中显示为滑动条。常用属性与number相同。通过step属性指定每次滑动的步幅。
⑱Date pickers类型<input type="data,nonth,week..." />
时间日期类型:用于验证输入的日期;
date 选取日、月、年
month 选取月、日
week 选取周和年
time 选取时间(小时和分钟)
datetime 选取时间、日、月、年(UTC时间)
detetime-local 选取时间、日、月、年(本地时间)

代码示例:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>时间日期类型的使用</title>
</head> <body>
<form action="#" method="get">
<input type="date" />&nbsp;
<input type="month" />&nbsp;
<input type="week" />&nbsp;
<input type="time" />&nbsp;
<input type="datetime" />&nbsp;
<input type="datetime-local" />&nbsp;
<input type="submit" value="提交" />
</form>
</body>
</html>

(2)、input元素的其他属性

①autofocus属性:
用于指定页面加载后是否自动获取鼠标焦点。

代码示例:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>autofocus属性的使用</title>
</head> <body>
<form action="#" method="get">
请输入搜索关键词:
<input type="text" name="user_name" autocomplete="off" autofocus="autofocus" /><br/>
<input type="submit" value="提交" />
</form>
</body>
</html>
②form属性:
可以把表单内的子元素写在页面中的任意位置,只需为这个元素指定form属性并设值属性值为该表单的id即可。
此外,form属性还允许规定一个表单控件从属于多个表单。

代码示例:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>autocomplete属性的使用</title>
</head> <body>
<form id="formBox" autocomplete="on">
用户名:
<input type="text" id="autofirst" name="autofirst"/><br/><br/>
昵&nbsp;&nbsp;&nbsp;&nbsp;称:
<input type="text" id="autosecond" name="autosecond"/><br/><br/>
<input type="submit" value="提交"/>
</form>
</body>
</html>
③list属性:
用于指定输入框所绑定的datalist元素,其值是个datalist元素的id。
datalist元素用于试下年数据列表的下拉效果。

代码示例:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>list属性的使用</title>
</head> <body>
<form action="#" method="get">
请输入网址:
<input type="url" list="url_list" name="weburl"/>
<datalist id="url_list">
<option label="新浪" value="http://www.sina.com.cn"></option>
<option label="搜狐" value="http://www.sohu.com"></option>
<option label="传智" value="http://www.itcast.cn"></option>
</datalist>
<input type="submit" value="提交" />
</form>
</body>
</html>
④multiple属性:
用于指定输入框可以选择多个值,该属性适用于email和file类型的input元素。
注:
multiple属性用于email类型的input元素时,表示可以向文本框中输入多个E-mail地址,用逗号隔开。
multiple属性用于file类型的input元素时,表示可以选择多个文件。

代码示例:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>multiple属性的使用</title>
</head> <body>
<form action="#" method="get">
电子邮箱:
<input type="email" name="myemail" multiple="multiple"/>&nbsp;&nbsp;(如果电子邮箱有多个,请使用逗号分隔)<br/><br/>
上传照片:
<input type="file" name="selfile" multiple="multiple" /><br/><br/>
<input type="submit" value="提交"/>
</form>
</body>
</html>
⑤min、max、step属性:
用于为包含数字或日期的input输入类型规定限制。适用于date、pickers、number和range标签。
●max:规定输入框所允许的最大输入值。
●min:规定输入框所允许的最小输入值。
●step:为输入框规定合法的数字间隔,如果不设置,默认值是1。
⑥pattern属性:
用于验证input类型输入框中,用户输入的内容是否与所定义的正则表达式相匹配。
pattern属性适用于的类型是:text、search、url、tel、email和password的<input/>标记。

代码示例:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>pattern属性</title>
</head> <body>
<form action="#" method="get">
账&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号:<input type="text" name="username" pattern="^[a-zA-Z][a-zA-Z0-9_]{4,15}$" />(以字母开头,允许5~16字节,允许字母数学下划线)<br/>
密&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;码:<input type="password" name="pwd" pattern="^[a-zA-Z]\w{5,17}$" />(以字母开头,长度在6~18,只能包括字母、数字和下划线)<br/>
身&nbsp;份&nbsp;证:<input type="text" name="mycard" pattern="^\d{15}|\d{15}|\d{18}$" />(15位、18位数字)<br/>
E-mail地址:<input type="email" name="myemail" pattern="^\w+([-+.]\w+)*@\w+([-.]\ w+)*\.\w+([-.]\w+)*$" />
<input type="submit" value="提交" />
</form>
</body>
</html>
⑦placeholder属性
用于为input类型的输入框提供相关提示信息,以描述输入框期待用户输入何种内容。
在输入框为空时显式出现,而当输入框获得焦点时则会消失。
注:该属性适用于type属性值为text、search、url、tel、email及password的<input/>标记

代码示例:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>placeholder属性</title>
</head> <body>
<form action="#" method="get">
请输入邮政编码:<input type="text" name="code" pattern="[0-9]{6}" placeholder="请输入6位数的邮政编码" />
<input type="submit" value="提交" />
</form>
</body>
</html>
⑧required属性
用于规定输入框填写的内容不能为空,否则不允许用户提交表单。

代码示例:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>required属性</title>
</head> <body>
<form action="#" method="get">
请输入姓名:<input type="text" name="user_name" required="required"/>
<input type="submit" value="提交"/>
</form>
</body>
</html>

(3)、其他表单元素

①、textarea元素

通过textarea控件可以轻松的创建多行文本输入框。
格式:
<textarea cols="每行中的字符数" rows="显示的行数">
文本内容
</textarea> cols和rows为<textarea>标记的必须属性。
其中cols用来定义多行文本输入框每行中的字符数,rows用来定义多行文本输入框显示的行数。
他们的取值均为正整数。
textarea的可选属性
name 由用户自定义 控件的名称
readonly readonly 该空间内容为只读(不能编译修改)
disabled disabled 第一次加载页面时禁用该标签(显示为灰色)

代码示例:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>textarea控件</title>
</head> <body>
<form action="#" method="post">
评论:<br/>
<textarea cols="60" rows="8">
评论的时候,请遵纪守法并注意语言文明,多给文档分享人一些支持。
</textarea>
<input type="submit" value="提交"/>
</form>
</body>
</html>

②、select元素

用来定义页面的下拉菜单。
基本格式:
<select>
<option>选项1</option>
<option>选项2</option>
<option>选项3</option>
...
</select> 注:
<option></option>标记嵌套在<select></select>标记中,用于定义下拉菜单中的具体选项。
每对<select></select>中至少应包含一对<option></option>。
标记名 常用属性 描述
<select> size 指定下拉菜单的可见选项数(取值为正整数)
multiple 定义multiple="multiple"时,下拉菜单将具有多项选择的功能,方法为按住Ctril键的同时选择多项
<option> selected 定义selecet="selecet"时,当前项即为默认选中项

代码示例:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>select控件</title>
</head> <body>
<form action="#" method="post">
所在校区:<br />
<select>
<option>-请选择-</option>
<option>北京</option>
<option>上海</option>
<option>广州</option>
<option>武汉</option>
<option>成都</option>
</select><br /><br />
特长:(单选):<br />
<select>
<option>唱歌</option>
<option selected="selected">画画</option> <!--设置默认选中项-->
<option>跳舞</option>
</select><br /><br />
爱好(多选):<br />
<select multiple="multiple" size="4"> <!--设置多选和可见选项数-->
<option>读书</option>
<option selected="selected">写代码</option> <!--设置默认选中项-->
<option>旅行</option>
<option selected="selected">听音乐</option> <!--设置默认选中项-->
<option>踢球</option>
</select><br /><br />
<input type="submit" value="提交"/>
</form>
</body>
</html>

HTML基础——表单的应用的更多相关文章

  1. Bootstrap系列 -- 11. 基础表单

    表单主要功能是用来与用户做交流的一个网页控件,良好的表单设计能够让网页与用户更好的沟通.表单中常见的元素主要包括:文本输入框.下拉选择框.单选按钮.复选按钮.文本域和按钮等.其中每个控件所起的作用都各 ...

  2. bootstrap 基础表单 内联表单 横向表单

    bootstrap 基础表单 内联表单 横向表单 <!DOCTYPE html> <html> <head> <title></title> ...

  3. JavaScript | 基础表单验证(纯Js)

    ———————————————————————————————————————————— 基础表单验证(纯js) - - - - - - - - - - - - - - - - - - - - - - ...

  4. bootstrap 基础表单

    表单中常见的元素主要包括:文本输入框.下拉选择框.单选按钮.复选按钮.文本域和按钮等.其中每个控件所起的作用都各不相同,而且不同的浏览器对表单控件渲染的风格都各有不同. ☑   LESS版本:对应源文 ...

  5. js基础-表单验证和提交

    基础知识: 原始提交如下: <form action="/login" method="post" id="form1"> &l ...

  6. JavaScript:基础表单验证

    在用户填写表单的过程之中,往往需要编写一堆的验证操作,这样就可以保证提交的数据时正确的.那么下面就模拟表单验证的处理操作完成. 如果要想进行验证,首先针对于输入的数据来进行一个验证处理. 1.定义一个 ...

  7. h5标签基础 表单form

    表单:收集用户信息 一. 组成: 文本框<input type="text"/> 密码框<input type="password"/> ...

  8. php编程 之php基础 表单

    1 ,php表单 当处理php表单的时候,php能把来自html页面的表单元素自动变成可供php脚本使用的数据. 比如: <html> <head> <meta char ...

  9. JS基础-表单元素-新表单元素-js概述

    1.表单元素 1.input元素 1.隐藏域和文件选项框 1.隐藏域 <input type="hidden"> 要提交给服务器的数据,但是不想展示给用户看可以放在隐藏 ...

  10. vue基础——表单输入绑定

    一.基础用法 你可以用 v-model 指令在表单 <input> 及 <textarea> 元素上创建双向数据绑定.它会根据控件类型自动选择正确的方法来更新元素. 尽管有些神 ...

随机推荐

  1. Redis来啦~~

    一. 先聊点别的 1. sql & nosql sql指关系型数据库,如Oracle,MySQL等,nosql泛指非关系型数据库,如MongoDB,Redis等:SQL数据存在特定结构的表中, ...

  2. Hack the 21LTR: Scene 1 VM (Boot to Root)

    靶机下载链接: https://www.vulnhub.com/entry/21ltr-scene-1,3/ 主机扫描: ╰─ nmap -p1-65535 -sV -sC -A  192.168.2 ...

  3. 2019有赞中高级Java工程师面试题与解答

    说说JVM的内存分区 线程私有的区域 程序计数器:JVM中程序计数器相当于汇编语言中的CPU中的寄存器,保存程序当前执行的指令的地址. 虚拟机栈:Java方法执行的栈由许多个栈帧构成,每个栈帧对应一个 ...

  4. vue/cli新旧版本安装方式

    一.老版本安装  Shift+鼠标右键 选择打开命令窗口 1.创建项目之前,需先确保本机已经安装node 在命令窗口中执行node -v npm -v 2.一般情况下用npm安装东西比较慢,可以使用淘 ...

  5. 计算几何 val.1

    目录 计算几何 val.1 向量的点积 向量的叉积 一种奇怪的三角剖分求面积 凸包 点绕点旋转 后记 计算几何 val.1 本文并不是入门文章,供有高中数学基础的阅读 主要写一些重要的点和注意事项吧 ...

  6. Jenkins使用SSH构建Go项目并执行

    目录 下载插件 配置要部署的服务器 构建项目 Jenkinx可以帮助我们通过SSH插件,将项目直接部署到指定的服务器. 下载插件 (1)点击左侧的"系统管理"菜单 ,然后点击 (2 ...

  7. C#版本与.NET版本对应关系以及各版本的特性

    C#版本 .NET版本 发布日期 特性 C# 1.0 .NET Framework 1.0 2002-02-13 委托.事件 C# 1.1 .NET Framework 1.1 2003-04-24 ...

  8. Ligg.EasyWinApp-10300-Ligg.EasyWinForm:View的配置

    View的配置文件,  路径如下: .\Applications\xxxx(Apllication)\Clients\Form\Functions\yyyy(Function)\ Views\zzzz ...

  9. ELK日志分析系统(1)-基本环境搭建

    1. 概述 ELK = Elasticsearch + Logstash + Kibana Elasticsearch是实时全文搜索和分析引擎,提供搜集.分析.存储数据三大功能:是一套开放REST和J ...

  10. Node.js C++ 插件学习指南

    Node.js插件(addons) Node.js 插件是用 C++ 编写的动态链接共享对象,可以使用 require() 函数加载到 Node.js 中,且像普通的 Node.js 模块一样被使用. ...