表单标签<form>
表单用于向服务器传输数据。
表单能够包含 input 元素,比如文本字段、复选框、单选框、提交按钮等等。
表单还可以包含textarea、select、fieldset和 label 元素。
1.表单属性
HTML 表单用于接收不同类型的用户输入,用户提交表单时向服务器传输数据,从而实现用户与Web服务器的交互。表单标签, 要提交的所有内容都应该在该标签中.
action: 表单提交到哪. 一般指向服务器端一个程序,程序接收到表单提交过来的数据(即表单元素值)作相应处理,比如https://www.sogou.com/web
method: 表单的提交方式 post/get 默认取值 就是 get(信封)
get: 1.提交的键值对.放在地址栏中url后面. 2.安全性相对较差. 3.对提交内容的长度有限制.
post:1.提交的键值对 不在地址栏. 2.安全性相对较高. 3.对提交内容的长度理论上无限制.
get/post是常见的两种请求方式.
2.表单元素
<input> 标签的属性和对应值
'''
type: text 文本输入框
password 密码输入框
radio 单选框
checkbox 多选框
submit 提交按钮
button 按钮(需要配合js使用.) button和submit的区别?
file 提交文件:form表单需要加上属性enctype="multipart/form-data"
hidden 定义隐藏字段,隐藏字段对于用户是不可见的,隐藏字段通常会储存一个默认值,他们的值也可以通过js进行修改;<input type="hidden" name="country" value="Norway">
image 定义图像形式的提交按钮,必须把src属性和alt属性与<input type="image">结合使用;<input type="image" src="submit.gif" alt="Submit">
name: 表单提交项的键.注意和id属性的区别;name属性是和服务器通信时使用的名称;而id属性是浏览器端使用的名称,该属性主要是为了方便客户端编程,而在css和javascript中使用的
value: 表单提交项的值.对于不同的输入类型,value 属性的用法也不同:
type="button", "reset", "submit" - 定义按钮上的显示的文本
type="text", "password", "hidden" - 定义输入字段的初始值
type="checkbox", "radio", "image" - 定义与输入相关联的值
checked:代表checkbox和radio默认被选中
readonly:代表只读,text和password
disabled:和只读差不多,对所有input标签都适用
reset:重置功能按钮
上传文件注意两点:
1 请求方式必须是post
2 enctype="multipart/form-data"
'''
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="keywords" content="from表单之input标签">
<meta name="description" content="好好学习,天天向上">
<meta http-equiv="Refresh" content="60;https://www.baidu.com">
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">
<title>Title</title>
<link rel="icon" href="https://www.baidu.com/favicon.ico">
<!--<link rel="stylesheet" href="css.css">-->
<!--<script src="hello.js"></script>-->
</head>
<body>
<h1>注册页面</h1>
<form action="http://127.0.0.1:8080/index" method="post" enctype="multipart/form-data">
<!--form表单用于向服务器传输数据,HTML表单用于接收不同类型的用户输入,用户提交表单时向服务器传输数据,从而实现用户与Web服务器的交互。表单标签, 要提交的所有内容都应该在该标签中-->
<!--action:表单提交到哪.一般指向服务器端一个程序,程序接收到表单提交过来的数据(即表单元素值)作相应处理,比如https://www.sogou.com/web-->
<!--method属性代表get请求或post请求,不加method默认是get请求-->
<!--enctype属性multipart/form-data属性值,上传文件必须要有此属性及属性值,代表分段上传-->
<p>姓名:<input type="text" name="username" value="mike" placeholder="姓名" readonly="readonly"></p>
<!--text文本输入框,name属性作为键值对的键,placeholder属性可以在输入框显示文字,readonly属性代表只读-->
<p>密码:<input type="password" name="pwd" placeholder="密码"></p>
<!--password密码输入框(输入显示密文)-->
<p>爱好:篮球<input type="checkbox" name="hobby" value="ball1">足球<input type="checkbox" name="hobby" value="ball2">排球<input type="checkbox" name="hobby" value="ball3"></p>
<!--checkbox多选框,value属性作为键值对的值-->
<p>性别:男<input type="radio" name="gender" value="men">女<input type="radio" name="gender" value="women"></p>
<!--radio单选框-->
<p><input type="reset" value="点击重置"></p>
<!--reset重置功能-->
<p><input type="file" name="put_file"></p>
<!--file上传文件,form标签必须加上enctype="multipart/form-data",且必须为post请求-->
<p><input type="submit" value="提交注册"></p>
<!--submit提交按钮,将以上的数据封装成键值对打包发送给服务端;value默认是'提交'-->
<!--所填信息以键值对形式发送给服务端<QueryDict: {'username': ['mike'], 'pwd': ['111111'], 'hobby': ['ball1', 'ball2'], 'gender': ['men']}>-->
<p><input type="button" value="button按钮"></p>
<!--button按钮点击无任何反应,需配合js进行触发某一事件,value不写按钮显示为空-->
</form>
</body>
</html>
while True: print('studying...')