HTML表单有什么作用?
<form> 元素定义 HTML 表单,作为表单的外壳把用户输入的不同类型的数据提交到后台。
input标签
<input type="text">:定义用于文本输入的单行输入字段(默认宽度为20个字符)
<input type="password">:定义密码字段
<input type="radio">:定义单选按钮,允许用户在有限数量的选项中选择一个
<input type="checkbox">:定义复选框
<input type="submit">:定义用于向表单处理程序提交表单的按钮。
<input type="button">:定义按钮
<input type="number">:用于应该包含数字值的输入字段
<input type="date">:用于应该包含日期的输入字段
<input type="color">:用于应该包含颜色的输入字段,根据浏览器支持,颜色选择器会出现输入字段中。
<input type="range">:用于应该包含一定范围内的值的输入字段,根据浏览器支持,输入字段能够显示为滑动控件
<input type="month">:允许用户选择月份和年份,根据浏览器的支持,日期选择器会出现在输入字段中
<input type="week">:允许用户选择周和年,根据浏览器支持,日期选择器会出现输入字段中。
<input type="time">:允许用户选择时间(无时区),根据浏览器支持,时间选择器会出现输入字段中。
<input type="datetime">:允许用户选择日期和时间(有时区),根据浏览器支持,日期选择器会出现输入字段中。
<input type="datetime-local">:允许用户选择日期和时间(无时区),根据浏览器支持,日期选择器会出现输入字段中。
<input type="email">:用于应该包含电子邮件地址的输入字段,根据浏览器支持,能够在被提交时自动对电子邮件地址进行验证。
<input type="search">:用于搜索字段(搜索字段的表现类似常规文本字段)。
<input type="tel">:用于应该包含电话号码的输入字段,目前只有Safari 8支持该类型
<input type="url">:用于应该包含URL地址的输入字段,根据浏览器的支持,在提交时能够自动验证url字段。
post和get方式有说明区别
Get:是以实体的方式得到由请求URI所指定资源的信息,如果请求URI只是一个数据产生过程,那么最终要在响应实体中返回的是处理过程的结果所指向的资源,而不是处理过程的描述。
ps:get附加在url中
Post:用来向目的服务器发出请求,要求它接受被附在请求后的实体,并把它当作请求队列中请求URI所指定资源的附加新子项,Post被设计成用统一的方法实现下列功能:
1:对现有资源的解释
2:向电子公告栏、新闻组、邮件列表或类似讨论组发信息。
3:提交数据块
4:通过附加操作来扩展数据库
ps:说白了,就是以流的方式向服务器传输数据(这里有个问题:为什么颜色上传之后#会变成%呢?)
从上面描述可以看出,Get是向服务器发索取数据的一种请求;而Post是向服务器提交数据的一种请求,要提交的数据位于信息头后面的实体中。
【备注】服务器代码:
为什要有name:
刚才上传的内容也看到了,一定要是key-value 吧,既然一定要是key-value,不能只有value喽,那就肯定有key啊,那么key就是name喽。因为一个key只能对应一个value,而一个value却能由不同key共享。(不懂的话,看JavaScript对象定义),所以为什么radio和checkbox会有同样的name也就不言而喻了。
radio如何分组
有同样的name(原因见上文)
palceholde有什么用?
只作为提示,没有值。内容无法上传到服务器。
type=hidden隐藏域有什么作用?举例说明
标签<input type="hidden" name="" value="">标签的作用是:隐藏不想让用户看到的信息,但是这些信息对于Web应用又是非常必要的。
暂存信息:后端在构造web页面的过程中,通过hidden隐藏域在页面中添加了相关数据信息(用户对网页进行操作时可能会用到这些数据信息)
信息安全:后端在构造web页面的过程中,可以通过hidden隐藏域在页面中添加相关的验证信息,当form表单被提交后,服务器会收到该验证信息,通过一定的算法校验该验证信息,可以有效防止非法请求对数据库的增删改查,提高了web应用的安全性。