HTML 表单技术练习:制作调查问卷(内含超详细代码解读)

这一篇来记录HTML5表单API的学习,以制作调查问卷为例,效果如图:

html5问卷调查代码 html制作调查问卷表单_表单

注:完整代码见文章末尾处。

一、表单标签form

1.常用属性

常用属性有两个:action和method,分别用于规定表单数据提交的URL地址以及提交方式。
method有get和post两种属性值,其中post不显示name等参数信息,适用于安全级别相对较高的数据。默认值为get。

2.form标签框架

<form method="post" action="URL">
<!--表单具体内容-->
</form>

二、表单制作

1.有序列表标签ol,用于定义带有编号的有序列表;列表项目标签li,用于列出每个问题

2.input输入标签

  • 常见语法格式:
<input type="输入类型" name="自定义名称" />
  • type常用属性值:

类型名称

解释

text

单行文本输入框

password

密码输入框

radio

单选按钮

checkbox

复选按钮

submit

复选按钮

3.加工处理

  • requi要求在提交之前必须在输入框内填写内容,实现单选框的非空验证。
  • 用input制作最下方填写的横线:
    思路:上右下左四个边框线,只显示下边框线:(通过CSS的style实现)
input{
    border-color: black;
    border-top-width:0px;
    border-right-width:0px;
    border-bottom-width:2px;
    border-left-width:0px;
}

完整表单代码如下:

<form method="post" action="URL">
				<ol>
					<li>您的教育程度是?</li>
					<label><input type="radio" name="education" value="1" required />  高中   </label>
					<label><input type="radio" name="education" value="2" />  大专   </label>
					<label><input type="radio" name="education" value="3" />  本科   </label>
					<label><input type="radio" name="education" value="4" />  硕士研究生   </label>
					<label><input type="radio" name="education" value="5" />  博士及以上 </label>
					<li>您的年龄段是?</li>
					<label><input type="radio" name="age" value="1" required />  18岁以下   </label>
					<label><input type="radio" name="age" value="2" />  18-25岁   </label>
					<label><input type="radio" name="age" value="3" />  26-30岁   </label>
					<label><input type="radio" name="age" value="4" />  31-35岁   </label>
					<label><input type="radio" name="age" value="5" />  35岁以上 </label>
					<li>您是否使用过手机移动支付业务?</li>
					<label><input type="radio" name="use" value="1" required />  从未听说过   </label>
					<label><input type="radio" name="use" value="2" />  听说过,但未使用过   </label>
					<label><input type="radio" name="use" value="3" />  偶尔使用   </label>
					<label><input type="radio" name="use" value="4" />  经常使用   </label>
					<li>您看中以下哪些支付功能?(可多选)</li>
					<label><input type="checkbox" name="how" value="1" />  话费/游戏币充值</label><br />
					<label><input type="checkbox" name="how" value="2" />  刷手机加油</label><br />
					<label><input type="checkbox" name="how" value="3" />  刷手机购物</label><br />
					<label><input type="checkbox" name="how" value="4" />  刷手机乘坐公交/轻轨/地铁</label><br />
					<label><input type="checkbox" name="how" value="5" />  水电煤/有线电视/宽带远程缴费</label><br />
					<label><input type="checkbox" name="how" value="6" />  享受联盟商户的优惠折扣</label><br />
					<label><input type="checkbox" name="how" value="7" />  以上均不感兴趣</label><br />
				</ol>
				您的姓名  <input type="text" name="username" required />
				  您的职业  <input type="text" name="occupation" required />
				  联系电话  <input type="tel" name="tele" required />
				<br />
				<button id="btn" type="submit">提交问卷</button>
				
			</form>

当前效果如图:

html5问卷调查代码 html制作调查问卷表单_移动支付_02

三、外观加工

1.灰背景,白底面,外阴影:

body{
				background-color: gray;
			}
			.index{
				margin: auto;
				width:920px;
				background-color: white;
				box-shadow:10px 10px 15px black;
				margin-top:10px;
			}

在body标签内,插入一个div标签,class值为index

2.表单的位置:

form{
				padding-left: 100px;
				line-height:180%;
			}

3.提交按钮:

#btn{
				background-color: #FFA500;
				color:white;
				padding:5px 10px;
				margin-left:320px;
				margin-top:16px;
				margin-bottom: 20px;
			}

完整代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>调查问卷页面</title>
		<style>
			body{
				background-color: gray;
			}
			.index{
				margin: auto;
				width:920px;
				background-color: white;
				box-shadow:10px 10px 15px black;
				margin-top:10px;
			}
		    h1{
				color:orange;
				padding-top:30px;
				text-align:center;
			}
			form{
				padding-left: 100px;
				line-height:180%;
			}
			input{
				border-color: black;
				border-top-width:0px;
				border-right-width:0px;
				border-bottom-width:2px;
				border-left-width:0px;
			}
			#btn{
				background-color: #FFA500;
				color:white;
				padding:5px 10px;
				margin-left:320px;
				margin-top:16px;
				margin-bottom: 20px;
			}
		</style>
	</head>
	<body>
		<div class="index">
			<h1>手机移动支付业务调查问卷</h1>
			<hr color="orange" width="700px" />
			<form method="post" action="URL">
				<ol>
					<li>您的教育程度是?</li>
					<label><input type="radio" name="education" value="1" required />  高中   </label>
					<label><input type="radio" name="education" value="2" />  大专   </label>
					<label><input type="radio" name="education" value="3" />  本科   </label>
					<label><input type="radio" name="education" value="4" />  硕士研究生   </label>
					<label><input type="radio" name="education" value="5" />  博士及以上 </label>
					<li>您的年龄段是?</li>
					<label><input type="radio" name="age" value="1" required />  18岁以下   </label>
					<label><input type="radio" name="age" value="2" />  18-25岁   </label>
					<label><input type="radio" name="age" value="3" />  26-30岁   </label>
					<label><input type="radio" name="age" value="4" />  31-35岁   </label>
					<label><input type="radio" name="age" value="5" />  35岁以上 </label>
					<li>您是否使用过手机移动支付业务?</li>
					<label><input type="radio" name="use" value="1" required />  从未听说过   </label>
					<label><input type="radio" name="use" value="2" />  听说过,但未使用过   </label>
					<label><input type="radio" name="use" value="3" />  偶尔使用   </label>
					<label><input type="radio" name="use" value="4" />  经常使用   </label>
					<li>您看中以下哪些支付功能?(可多选)</li>
					<label><input type="checkbox" name="how" value="1" />  话费/游戏币充值</label><br />
					<label><input type="checkbox" name="how" value="2" />  刷手机加油</label><br />
					<label><input type="checkbox" name="how" value="3" />  刷手机购物</label><br />
					<label><input type="checkbox" name="how" value="4" />  刷手机乘坐公交/轻轨/地铁</label><br />
					<label><input type="checkbox" name="how" value="5" />  水电煤/有线电视/宽带远程缴费</label><br />
					<label><input type="checkbox" name="how" value="6" />  享受联盟商户的优惠折扣</label><br />
					<label><input type="checkbox" name="how" value="7" />  以上均不感兴趣</label><br />
				</ol>
				您的姓名  <input type="text" name="username" required />
				  您的职业  <input type="text" name="occupation" required />
				  联系电话  <input type="tel" name="tele" required />
				<br />
				<button id="btn" type="submit">提交问卷</button>
				
			</form>
		</div>
	</body>
</html>