前端基础 HTML 第十章 使用表单 ----暑假学习第六天

第十章 使用表单

        表单的用途很多,在制作网页时,特别是制作动态网页时常常会用到。表单主要用来收集客户端提供的相关信息,使网页具有交互功能。在制作网页时,常常需要使用表单,如进行会员注册、网上调查和搜索等。访问者可以使用如文本域、列表框、复选框以及单选按钮之类的表单对象输入信息,然后单击某个按钮提交这些信息。

10.1 表单标记 form

        在网页中<form></form>标签对用来创建一个表单,即定义表单的开始和结束位置,在标记对之间的一切都属于表单的内容。在表单的<form>标记中,可以设置表单的基本属性,包括表单的名称、处理程序和传送方法等。一般情况下,表单的处理程序action和传送方法method是必不可少的参数。

10.1.1 提交表单action

action用于指定表单数据提交到哪个地址进行处理。

语法:

<form action="表单的处理程序">

......

</from>

说明:表单的处理程序是表单要提交的地址,也就是表单中收集到的资料将要传递的程序地址。这一地址可以是绝对地址,也可以是相对地址,还可以是一些其他形式的地址。

eg:

<html>
<head>
	<meta charset="UTF-8">
	<title>left</title>	
</head>
<body>
	<font color="orange">欢迎使用本店房间,您填写的预定表将被发送到酒店客服预定处</font>
	<form action="mailto:[email protected]">
	</form>
</body>
</html>

运行结果:


10.1.2 表单名称 name

    name用于给表单取名,这一属性并不是表单的必要属性,但是为了防止表单提交到后台处理程序时出现混乱,一般需要给表单命名。

语法:<form name="表单名称"></form>

说明:表单名称不能包含特殊字符和空格

eg:

<html>
<head>
	<meta charset="UTF-8">
	<title>left</title>	
</head>
<body>
	<font color="orange">欢迎使用本店房间,您填写的预定表将被发送到酒店客服预定处</font>
	<form action="mailto:[email protected]" name="form1">
	</form>
</body>
</html>

10.1.3 传送方式method

        表单的method属性用于指定在数据提交到服务器的时候使用哪种HTTP提交方法,可取值为get或post

get: 表单数据被传送到action属性指定的URL,然后这个新的URL被送到处理程序上。

post:表单数据被包含在表单主体中,然后被送到处理程序上。

语法:

<form method="传送方法">

......

</form>

说明:传送方法的值只有两种即get和post

eg:

<html>
<head>
	<meta charset="UTF-8">
	<title>left</title>	
</head>
<body>
	<font color="orange">欢迎使用本店房间,您填写的预定表将被发送到酒店客服预定处</font>
	<form action="mailto:[email protected]" name="form1" method="post">
		账号:<input name="zh" type="text" size="15"><br>
		<input type="submit" name="Submit" value="提交">
	</form>
	<hr>
</body>
</html>

点提交之后

运行结果:


10.1.4 编码方式 enctype

表单中的enctype属性用于设置表单信息提交的编码方式

语法:<form enctype="编码方式">......</form>

说明:enctype 属性为表单定义了MIME编码方式,编码方式的取值见表

编码方式及取值
enctype的取值 取值的含义
application/x-www.form-urlencoded 默认的编码方式
multipart/form-data MIME编码,上传文件的表单必须选择此项

eg:

<html>
<head>
	<meta charset="UTF-8">
	<title>left</title>	
</head>
<body>
	<font color="orange">欢迎使用本店房间,您填写的预定表将被发送到酒店客服预定处</font>
	<form action="mailto:[email protected]" name="form1" method="post" enctype="multipart/form-data">
		账号:<input name="zh" type="text" size="15"><br>
		<input type="submit" name="Submit" value="提交">
	</form>
	<hr>
</body>
</html>

enctype属性默认值是application/x-www-form-urlencoded,这是所以网页的表单所使用的可接受类型

10.1.5 目标显示方式 target

target用来指定目标窗口的打开方式,表单的目标窗口往往用来显示表单的返回信息

语法:<form target="目标窗口的打开方式">......</form>

说明:

目标窗口打开方式
取值 打开方式
_blank 将链接的文件载入一个未命名的新浏览器窗口中
_parent 将链接的文件载入含有该链接框架的父框架集或父窗口中
_self 将链接的文件载入该链接所在的同一框架或窗口中
_top 在整个浏览器窗口中载入所链接的文件,因而会删除所以框架

eg:

<html>
<head>
	<meta charset="UTF-8">
	<title>表单目标窗口显示方式</title>	
</head>
<body>
	<font color="orange">欢迎使用本店房间,您填写的预定表将被发送到酒店客服预定处</font>
	<form action="mailto:[email protected]" name="form1" method="post" enctype="multipart/form-data" target="_blank">
		账号:<input name="zh" type="text" size="15"><br>
		<input type="submit" name="Submit" value="提交">
	</form>
	<hr>
</body>
</html>

运行结果:


在一个新窗口显示表单目标窗口(显示表单的返回信息,此处为空)

10.2 插入表单对象

        网页中的表单由许多不同的表单元素组成。这些表单元素包括文字字段、单选按钮、复选框、菜单和列表以及按钮

10.2.1 文字字段 text

        在网页中最常见的表单元素就是文字字段,用户可以在文字字段内输入字符或者单行文本

语法:<input name="控件名称" type="text" value="文字字段的默认取值" size="控件的长度" maxlength="最长字符数">

说明:

text文字字段的参数表

参数类型

含义

type

用来指定插入哪种表单元素,如type="text",即为文字字段

name

文字字段的名称,用于和页面中其他控件加以区别。名称由英文或数字以及下划线组成,但有大小写之分

value

用来定义文本框的默认值(初始显示的文字)

size 确定文本框在页面中显示的长度,以字符为单位
maxlength 用来设置文本框中最多可以输入的字符数

eg:

<html>
<head>
	<meta charset="UTF-8">
	<title>文字字段</title>	
</head>
<body>
	<form  name="form1" method="post" action="6.1index.html">
		姓名:<input name="name" type="text" size="15"><br>
		年龄:<input name="age" type="text" value="10" size="10" maxlength="2"><br>
		<input type="submit" name="Submit" value="提交">
	</form>
</body>
</html>

运行结果:


年龄框默认显示10(value="10") 最多输入两位数字(maxlength="2")

10.2.2 密码域 password

        密码域是一种特殊的文字字段,它的各属性和文字字段是相同的。所不同的是,密码域输入的字符全部以"*"显示

语法: <input name="控件名称" type="password" value="文字字段的默认取值" size="控件的长度" maxlength="最长字符数">

说明:参数值及意义全部与text相同,其中value用来定义密码域的默认值,但都以"*" 显示

eg:

<html>
<head>
	<meta charset="UTF-8">
	<title>文字字段</title>	
</head>
<body>
	<form  name="form1" method="post" action="6.1index.html">
		用户名:<input name="username" type="text" size="15"><br>
		密码:<input name="password" type="password" value="admit" size="10" maxlength="6"><br>
		<input type="submit" name="Submit" value="提交">
	</form>
</body>
</html>

运行结果:


提示:密码域仅仅使周围的人看不见输入的文本,它不能使数据安全,为了使数据安全,需要在浏览器和服务器之间建立一个安全链接。

10.2.3 单选按钮 radio

语法:<input name="单选按钮名称" type="radio" value="单选按钮的默认取值" checked>

说明:单选按钮中必须设置value的值,对于一个选择列表的所以单选按钮来说,往往要设置为相同名称(name属性值必须相同,才为一组,达到互斥选中的效果)。在一个单选按钮组中只有一个单选按钮可以设置为checked

eg:

<html>
<head>
	<meta charset="UTF-8">
	<title>文字字段</title>	
</head>
<body>
	<form  name="form1" method="post" action="6.1index.html">
		性别:
		<input name="radiobutton" type="radio" value="radiobutton" checked="checked">男
		<input name="radiobutton" type="radio" value="radiobutton">女<br>
		<input type="submit" name="Submit" value="提交">
	</form>
</body>
</html>

运行结果:


name属性值相同是同属一组单选按钮的标志,value并不是,value值可以各不相同

10.2.4 复选框 checkbox

复选框可以让用户从一个选项列表中选择超过一个的选项

语法: <input name="复选框名称" type="checkbox" value="复选框的默认取值" checked>

说明:checked参数表示该项在默认情况下已已经被选中,一个选项列表中可以有多个复选框被选中  (复选框并不需要属于同一组)

eg:

<html>
<head>
	<meta charset="UTF-8">
	<title>复选框</title>	
</head>
<body>
	<form  name="form1" method="post" action="6.1index.html">
		爱好:
		<input name="checkbox" type="checkbox" value="checkbox" checked="checked">篮球
		<input name="checkbox1" type="checkbox" value="checkbox">游泳
		<input name="checkbox2" type="checkbox" value="checkbox">上网
		<input name="checkbox3" type="checkbox" value="checkbox">看书
		<input name="checkbox4" type="checkbox" value="checkbox">打游戏<br>
		   <input type="submit" name="Submit" value="提交">
	</form>
</body>
</html>

运行结果:


10.2.5 普通按钮button

普通按钮一般情况下要配合脚本来进行表单处理

语法:<input name="按钮名称" type="button" value="按钮上显示的文本" onclick="处理程序">

或单独的按钮标签<buton type="button" onclick="处理程序">按钮上显示的文字(名称)</button>

eg:

<html>
<head>
	<meta charset="UTF-8">
	<title>复选框</title>	
</head>
<body>
	<form  name="form1" method="post" action="6.1index.html">
		爱好:
		<input name="checkbox" type="checkbox" value="checkbox" checked="checked">篮球
		<input name="checkbox1" type="checkbox" value="checkbox">游泳
		<input name="checkbox2" type="checkbox" value="checkbox">上网
		<input name="checkbox3" type="checkbox" value="checkbox">看书
		<input name="checkbox4" type="checkbox" value="checkbox">打游戏<br>
		   <input type="submit" name="Submit" value="提交">
		   <input type="button" name="close" value="关闭窗口" onclick="window.close()">
		   <button type="button" onclick="window.close()">退出</button>
	</form>
</body>
</html>

运行结果:


10.2.6 提交按钮submit

提交按钮是一种特殊的按钮,单击改按钮可以实现表单内容的提交

语法:<input type="submit" name="按钮名称" value="按钮上显示的文字">

eg:前面所有页面都有提交按钮,一个自带处理程序的特殊按钮罢了

10.2.7 重置按钮 reset

语法:<input type="reset" name="按钮名称" value="按钮的取值">

说明:同submit,一个自带处理程序的按钮

eg:

<html>
<head>
	<meta charset="UTF-8">
	<title>复选框</title>	
</head>
<body>
	<form  name="form1" method="post" action="6.1index.html">
		爱好:
		<input name="checkbox" type="checkbox" value="checkbox" checked="checked">篮球
		<input name="checkbox1" type="checkbox" value="checkbox">游泳
		<input name="checkbox2" type="checkbox" value="checkbox">上网
		<input name="checkbox3" type="checkbox" value="checkbox">看书
		<input name="checkbox4" type="checkbox" value="checkbox">打游戏<br>
		   <input type="reset" name="Reset" value="重置">
	</form>
</body>
</html>

运行结果:


10.2.8 图像域 image

还可以使用一副图像作为按钮,这样做可以创建能想像到的任何外观的按钮

语法:  <input type="image" name="图像域名称"  src="图像路径" width="按钮宽度" height="按钮高度">

说明:src值为显示在按钮上的图像的地址.注意type值为image 。width与height设置按钮大小,否则原始图片多大,按钮多大

eg:

<html>
<head>
	<meta charset="UTF-8">
	<title>图像域</title>	
</head>
<body>
	<form  name="form1" method="post" action="6.1index.html">
		您觉得学校的那些方面需要改进?<br>
		<input name="mofe" type="radio" value="1" checked="checked">师资力量<br>
		<input name="mofe" type="radio" value="2" checked="checked">教育设施<br>
		<input name="mofe" type="radio" value="3" checked="checked">教学内容<br>
		<input name="mofe" type="radio" value="4" checked="checked">安全健康<br>
		<input type="image" name="image" src="images/tp.jpeg" height="30" width="50">
		<input type="image" name="image" src="images/ck.jpeg" height="30" width="50">
	</form>
</body>
</html>

运行结果:



默认实现提交逻辑,具体逻辑更改要使用onclick属性,并结合js脚本

10.2.9  隐藏域 hidden

        有时想传送一些数据,这些数据对于用户来说是不可见的。可以通过一个隐藏域来传送这样的数据。隐藏域包含那些要提交处理的数据,但这些数据并不显示在浏览器中。

语法:<input name="隐藏域名称" type="hidden" value="隐藏域默认取值">

说明:通过将type属性设置为hidden,可以依自己所需,在表单中使用任意多个隐藏域

eg:

<html>
<head>
	<meta charset="UTF-8">
	<title>图像域</title>	
</head>
<body>
	<form  name="form1" method="post" action="6.1index.html">
		您觉得学校的那些方面需要改进?<br>
		<input name="mofe" type="radio" value="1" checked="checked">师资力量<br>
		<input name="mofe" type="radio" value="2" checked="checked">教育设施<br>
		<input name="mofe" type="radio" value="3" checked="checked">教学内容<br>
		<input name="mofe" type="radio" value="4" checked="checked">安全健康<br>
		<input type="hidden" name="hidden" value="1">
		<input type="hidden" name="hidden" value="2">
		<input type="hidden" name="hidden" value="3">
		<input type="hidden" name="hidden" value="4">
		<input type="image" name="image" src="images/tp.jpeg" height="30" width="50">
		<input type="image" name="image" src="images/ck.jpeg" height="30" width="50">
	</form>
</body>
</html>

运行结果: 隐藏域并未被显示出来  但是提交数据时确实会被提交的


10.2.10 文件域file

        文件域在上传文件时用到,它用于查找硬盘中的文件路径,然后通过表单将选中的文件上传,在上传图像时也常常用到

语法:<input name="文件域名称" type="file" size="控件长度" maxlength="最长字符数">

说明: 上传文件时,编码方式必须选择 enctype="multipart/form-data",不能默认

eg:  

<html>
<head>
	<meta charset="UTF-8">
	<title>图像域</title>	
</head>
<body>
	<form  name="form1" method="post" action="6.1index.html" enctype="multipart/form-data"><!--enctype="multipart/form-data" 上传文件的表单必须选择此项-->
		上传照片:
		<input name="file" type="file" size="30" maxlength="32" ><br>
		<input type="image" name="image" src="images/tp.jpeg" height="30" width="50">
		<input type="image" name="image" src="images/ck.jpeg" height="30" width="50">
	</form>
</body>
</html>

运行结果:


10.3 菜单和列表

        菜单和列表主要用来选择给定答案中的一种,这类选择中往往答案比较多。菜单和列表主要是为了节省页面空间,他们都是通过<select>和<option>标签来实现的

10.3.1 下拉菜单

        下拉菜单是一种最节省页面空间的选择方式,因为在正常状态下只显示一个选项,单击下拉按钮打开菜单后才会看到全部的选项。

语法: 

<select name="下拉菜单名称">
<option value="选项值" selected> 选项显示内容</option>
....
</select>

说明:选项值是提交表单时的值,而选项显示的内容才是真正在页面中显示的选项内容。selected表示该选项在默认情况下是选中的,一个下拉菜单中只能有一个默认选项被选中。

eg:

<html>
<head>
	<meta charset="UTF-8">
	<title>图像域</title>	
</head>
<body>
	<form  name="form1" method="post" action="6.1index.html" >
		地区:
		<select name="select">
			<option value="北京" selected="selected">北京</option>
			<option value="上海">上海</option>
			<option value="天津">天津</option>
			<option value="山东">山东</option>
			<option value="河南">河南</option>
		</select>
	</form>
</body>
</html>

运行结果:


提示:下拉列表的宽度由<option>标签中包含的最长文本宽度决定

10.3.2 列表项

        在页面中列表项可以显示出几条信息,一旦超出这个信息量,在列表项右侧会出现滚动条,拖动滚动条可以看到所有的选项

语法:

<select name="列表项名称" size="显示的列表项数" multiple>
<option value="选项值" selected>选项内容</option>
......
</select>

说明:在语法中,size用于设置在页面中显示的最多的列表项数,当超过这个值时会出现滚动条.

          关键加了multiple(多样的) 属性,不加就是下拉菜单,加了就是列表项.  切option表现都包含在select标签内

eg:

<html>
<head>
	<meta charset="UTF-8">
	<title>图像域</title>	
</head>
<body>
	<form  name="form1" method="post" action="6.1index.html" >
		地区:
		<select name="select" size="1" multiple="mutiple">
			<option value="北京" selected="selected">北京</option>
			<option value="上海">上海</option>
			<option value="天津">天津</option>
			<option value="山东">山东</option>
			<option value="河南">河南</option>
		</select>
		
		<hr>
		颜色:
		<select name="select" size="2" multiple="mutiple">
			<option value="红色" selected="selected">红色</option>
			<option value="橙色">橙色</option>
			<option value="黄色">黄色</option>
			<option value="绿色">绿色</option>
			<option value="青色">青色</option>
		</select>
	</form>
</body>
</html>

10.4 文本域标签 textarea

当需要让浏览者填入多行文本时,就应该使用文本域而不是文字字段。和其他大多数表单对象不一样,文本域使用的是textarea标签而不是input标签

语法:<textarea name="文本域名称" cols="列数" rows="行数"></textarea>

说明:在语法中,不能使用value属性来建立一个在文本域中显示的初始值。相反,应当在textarea标签的开头和结尾之间包含想要在文本域内显示的任何文本

eg:

<html>
<head>
	<meta charset="UTF-8">
	<title>图像域</title>	
</head>
<body>
	<form  name="form1" method="post" action="6.1index.html" >
		留言:
		<textarea name="textarea" cols=“35” rows="5">请在此处留言</textarea>
	</form>
</body>
</html>

运行结果:


提示:文本域和计算机内存一样大文本域的大小不受浏览器窗口的限制,如果文本域超出了浏览器窗口大小,会出现滚动条帮助用户看到整个文本域

10.5 id属性

id属性是一个特殊的属性,它主要用于标示一个唯一的元素。这个元素可以是文字字段,可以是密码域,也可以是其他的表单元素,甚至可以是一幅图像、一个表格

语法:<id=元素的标示名>

说明:在HTML中,id用来标示页面中的唯一元素。命名最好见名知意

eg:

<html>
<head>
	<meta charset="UTF-8">
	<title>综合范例</title>	
</head>
<body>
	<form  name="form1" method="post" action="6.1index.html" >
		<table width="500" border="0" align="center" cellspacing="2" cellpadding="0">
			<tr>
				<td width=“143” height="25">姓名:</td>
				<td width="351"><input name="name" type="text" id="name" size="20"></td>
			</tr> 
			<tr>
				<td height=“25”>年龄:</td>
				<td>
					<select name="age" id="age">
						<option value="5">5</option>
						<option value="6">6</option>
						<option value="7">7</option>
						<option value="8">8</option>
						<option value="9">9</option>
						<option value="10">10</option>
						<option value="11">11</option>
						<option value="12">12</option>
					</select>
				</td>
			</tr>
			<tr>
				<td height="25">性别:</td>
				<td>
					<input name="sex" id="sex" type="radio" value="radiobutton" checked>男
					<input name="sex" id="sex" type="radio" value="radiobutton">女					
				</td>
			</tr>
			<tr>
				<td height=“25”>家庭住址:</td>
				<td><input name="textfiled" type="text" size="40"></td>
			</tr>
			<tr>
				<td height=“25”>联系电话:</td>
				<td><input name="textfiled2" type="text" size="11" maxlength="11"></td>
			</tr>
			<tr>
				<td height=“25”>您对我们是否满意:</td>
				<td>					
					<input name="checkbox" type="checkbox" value="checkbox">非常满意
					<input name="checkbox2" type="checkbox" value="checkbox">一般
					<input name="checkbox3" type="checkbox" value="checkbox">非常不满意				
				</td>
			</tr>
			<tr>
				<td height="25">意见:</td>
				<td><textarea name="textarea" cols="40" rows="6"></textarea></td>
			</tr>
			<tr>
				<td height="25" colspan="2" align="center">
					<input type="submit" name="Submit3" value="提交">                    
					<input type="reset" name="Submit4" value="重置">
				</td>
			</tr>
		</table>
	</form>
</body>
</html>


运行结果:


第十章总结

10.1 表单标记form

<html>
<head>
	<meta charset="UTF-8">
	<title>表单</title>	
</head>
<body>
	<form action="表单处理程序(如邮箱地址)" name="表单名称" method="传送方法(get/post)" enctype="编码方式" target="提交后目标窗口显示方式">
		......
	</form>
</body>
</html>

10.2 插入表单对象

<html>
<head>
	<meta charset="UTF-8">
	<title>表单</title>	
</head>
<body>
	<form action="表单处理程序(如邮箱地址)" name="表单名称" method="传送方法(get/post)" enctype="编码方式" target="提交后目标窗口显示方式">
		
		<input name="文本框名称" type="text" value="文本域初始显示的文本" size="文本框长度" maxlength="限制输入的最长字符数">
		
		<input name="密码域名称" type="password" value="密码域初始显示值(以*显示)" size="密码框长度" maxlength="限制输入的最长字符数">
		
		<!--name设置相同 就是属于一组的单选按钮-->
		<input name="radiobutton" type="radio" value="radiobutton1" checked(默认选中)>
		<input name="radiobutton" type="radio" value="radiobutton1" checked(默认选中)>
		......
		<input name="radiobutton" type="radio" value="radiobutton1" checked(默认选中)>
		
		<!--复选框无互斥要求 name不必相同-->
		<input name="checkbox" type="checkbox" value="checkbox">
		<input name="checkbox2" type="checkbox" value="checkbox">
		...
		<input name="checkbox3" type="checkbox" value="checkbox">
		
		<input name="按钮名称" type="submit" value="按钮上显示的按钮名称" onclick="处理程序">
		
		<input name="Submit" type="submit" value="按钮上显示的按钮名称(如提交)">
		
		<input name="Reset" type="reset" value="按钮上显示的按钮名称(如重置)">
		
		<input name="图像域名称" type="image" src="按钮图像路径">
		
		<input name="隐藏域名称" type="hidden" value=“隐藏域取值”>
		
		<input name="文件域名称" type="file" size="控件长度" maxlength="最长字符数">
		
	</form>
</body>
</html>

10.3 菜单和列表

<html>
<head>
	<meta charset="UTF-8">
	<title>表单</title>	
</head>
<body>
	<form action="表单处理程序(如邮箱地址)" name="表单名称" method="传送方法(get/post)" enctype="编码方式" target="提交后目标窗口显示方式">		
		<select name="下拉菜单名称">
			<option value="选项值1" selected(默认选中)>选项1</option>
			<option value="选项值2">选项2</option>
			<option value="选项值3">选项3</option>
			.....
			<option value="选项值n">选项n</option>
		</select>		
		
		<select name="列表项名称" size="显示的列表项数" multiple(绝不可少,不加就成了下拉菜单)>
			<option value="选项值1" selected>选项显示的内容1
			<option value="选项值2" >选项显示的内容2
			......
			<option value="选项值n" >选项显示的内容n
		</select>
	</form>
</body>
</html>

10.4 文本域标签 textarea

<html>
<head>
	<meta charset="UTF-8">
	<title>表单</title>	
</head>
<body>
	<form action="表单处理程序(如邮箱地址)" name="表单名称" method="传送方法(get/post)" enctype="编码方式" target="提交后目标窗口显示方式">		
		<textarea name="文本域名称" cols="列数" rows="行数"></textarea><!--行数列数决定了文本域显示在页面中的大小,文本域内容无大小限制,多了会出现滚动条-->
	</form>
</body>
</html>

10.5 id属性

每个表单都可加一个id属性 js脚本获取对象时用,具体见综合范例


猜你喜欢

转载自blog.csdn.net/hza419763578/article/details/80993841