1、表单
三层架构
数据访问层
响应业务逻辑层的请求
与物理数据库交互
业务逻辑层
响应表示层的请求
与数据访问层交互
完成特定的业务逻辑约束
表示层
显示信息
收集信息(与业务逻辑层交互)
HTML显示信息
基本标签:行内元素、块级元素
HTML收集信息
表单:将表单内的所有表单元素的name和value提交给服务器
表单元素:用于用户填写或选择数据
2、表单语法
……method:提交方式
post
只能向当前网站的后端服务器URL提交(前后端分离除外)
非明文传输,保证安全,类似于加密或序列化
场景:登录、注册
get
明文传输
https://search.jd.com/Search?keyword=html&enc=utf-8&pvid=53909fb1a83b42fa8162aa298fac7969
场景:搜索
action:服务器目标地址URL
通常情况下向当前网站的后端服务器URL提交
后端开发:SSM、SpringBoot、SpringCloud
onsubmit:提交事件
若返回false阻止表单提交
AJAX提交
若返回true向服务器后端服务器URL提交
form总是与脚本编程相结合
3、表单元素
基本语法
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>用户注册</h1>
<form method="get" action="#" onsubmit="return true">
<table>
<tr>
<td>姓名:</td>
<td><input type="text" size="20" name="txtName" value="" readonly /></td>
<td>*</td>
</tr>
<tr>
<td>密码:</td>
<td><input type="password" name="txtPassword" value="" hidden="hidden"/></td>
<td>*</td>
</tr>
<tr>
<td>性别:</td>
<td><input type="radio" name="gender" value="男" checked/>男
<input type="radio" name="gender" value="女"/>女
</td>
<td>*(name属性相当于分组,组内所有单选按钮互相排斥)</td>
</tr>
<tr>
<td>爱好:</td>
<td><input type="checkbox" name="hobby" value="足球"/>足球
<input type="checkbox" name="hobby" value="爬山"/>爬山
<input type="checkbox" name="hobby" value="音乐"/>音乐
</td>
<td>*(name属性相当于分组,组内所有复选按钮可以多选,形成一个数组)</td>
</tr>
<tr>
<td>城市:</td>
<td><select name="city">
<option value="南京">南京</option>
<option value="北京">北京</option>
<option value="上海">上海</option>
</select>
</td>
<td>*</td>
</tr>
<tr>
<td>自我介绍:</td>
<td><textarea name="selfremark" cols="30" rows="10" disabled></textarea></td>
<td>*</td>
</tr>
<tr>
<td>照片:</td>
<td><input type="file" name="photo" /></td>
<td>*</td>
</tr>
<tr>
<td>邮箱:</td>
<td><input type="email" name="email" /></td>
<td>*</td>
</tr>
<tr>
<td>个人网址:</td>
<td><input type="url" name="userurl" /></td>
<td>*</td>
</tr>
<tr>
<td>年龄:</td>
<td><input type="number" name="age" value="18" min="18" max="60" /></td>
<td>*</td>
</tr>
<tr>
<td>自我评分:</td>
<td><input type="range" name="luckynumber" min="1" maxlength="10" /></td>
<td>*(最低1分,最高10分)</td>
</tr>
<tr>
<td>站内搜索:</td>
<td><input type="search" name="keyword" /></td>
<td>*</td>
</tr>
<tr>
<td>你拥有的汽车:</td>
<td><input id="car" list="cars" />
<datalist id="cars">
<option value="五菱">五菱</option>
<option value="大众">大众</option>
<option value="东风">东风</option>
<option value="解放">解放</option>
</datalist>
</td>
<td>*</td>
</tr>
<tr>
<td colspan="3">
<input type="submit" value="注册" />
<input type="reset" value="重置" />
</td>
</tr>
<tr>
<td><button>按钮button,不能提交</button></td>
<td><input type="image" src="images/reg.png"/></td>
<td><input type="button" value="button" /></td>
</tr>
</table>
</form>
</body>
</html>
4、课堂练习
完成登录页面