2.1日总结
1 表单提交
表单有两个较特殊的属性:
属性名 | 作用 |
---|---|
method | 规定用于发送表单的 HTTP方法(提交表单的方式) |
action | 规定当提交时向何处发送表单数据(要提交表单的地址) |
form表单有一个自动提交的功能(submit)有时候不写submit 也会自动提交。可以默认不写。如果不想要表单自动提交就要写阻止表单自动提交的方法(οnsubmit="return false;")。
表单的提交方式有两种:分别是get提交(为表单的默认提交方式)与post提交。
1.1 get请求
请求参数放到请求的地址后面,参数大小受限只能传递几k的数据。由于参数出现在地址后面,所以安全性不能保证。
应用场景:地址栏发出的请求或超链接发出的请求。
1.2 post提交
请求参数放到请求体里面,参数大小没有限制。由于请求参数不可见,所以安全性更高。但是速度较慢。
应用场景:当form表单指定请求方式为post时发出请求。
1.3 get与post的区别
-
get方法是用来从服务器上获取数据;而post是用来向服务器上传递修改数据。
-
两者传递参数的方式不一样,get 是将数据直接添加到action所指向的URL后面;而post是将数据放在form的数据体中。
-
get是不安全的,因为在传输数据的过程中数据直接暴露在请求的URL上,用户可以在浏览器上看到提交的数据,还有一些系统内部信息也会显示在用户面前;而post的所有操作,用户都是不可见的。
-
get提交传输的数据量少,受限于URL 的长度限制;而post提交没有数据量限制。
-
get提交方式获取数据后刷新不会有负面影响;而post提交刷新页面重复提交可能会产生不良的后果。
1.4 表单提交的原则
表单提交主要是通过表单元素的 name = value进行传递数据的,但是表单提交时需要注意一下原则:
-
name相同的表单提交格式:
如果name值相同的表单提交,该name值会出现多次,且对应不同表单的值。
-
没有name的表单、含有disabled的表单元素:
表单元素没有name属性、含有disabled属性都会被禁止提交。
-
radio、checkbox选中值却没有value属性:
提交时只会提示当前name表单为on,不会自动获取text的值。如果没有选中值,就不会提交该表单元素,即不会出现当前name表单为off的情况。
同理select标签的被选中的option没有value属性值也获取不到传递的值。
1.5 表单提交的事件
当提交表单时,会发生submit 事件。
该事件只适用于<form>元素。
submit()方法触发submit事件,或规定当发生submit事件时运行的函数。
2 表单序列化
表单序列化的两种种方式serialize(和serializaArray() .
2.1 serialize()
serialize()方法通过序列化表单值创建URL编码文本字符串。
您可以选择一个或多个表单元素(如输入或文本区),或表单元素本身。
序列化的值可在生成 AJAX请求时用于URL查询字符串中。
2.2 serializaArray()
3 常用插件
3.1 SuperSlide.js
3.2 Swiper.js
3.3 wow.js