1.form表单有什么作用?有哪些常用的input 标签,分别有什么作用?
-
form表单的作用是收集用户所填写的信息,用于向服务器传输数据。
- form></form>
功能:用于申明表单,定义采集数据的范围,也就是<form>和</form>里面包含的数据将被提交到服务器,电子邮件里或者其他对象。 - 语法:<form action="url" method="get/post" enctype="mine" target=" ">.....</form>
-
常用的input标签及其作用,如下:
- 文本框, 是一种让访问者自己输入内容的表单对象,通常被用来填写单个字或者简短的回答,如姓名、地址等。
<input type="text">。 - 多行文本框, 也是一种让访问者自己输入内容的表单对象,只不过能让访问者填写较长的内容。
<input type="textarea" >。 - 密码框, 是一种特殊的文本域,用于输入密码。当访问者输入文字时,文字会被星号或其它符号代替,而输入的文字会被隐藏。
<input type="password">。 - 复选框, 允许访问者在待选项中选中一项以上的选项。
<input type="checkbox" name="..." value="..."> - 单选框, 当需要访问者在待选项中选择唯一的答案时,就需要用到单选框了。
<input type="radio" name="..." value="..." > - 文件上传框, ,需要用户上传自己的文件。
<input type="file"> - 表单按钮,
提交按钮 <input type="submit">, 用来将输入的信息提交到服务器 。
复位(重置)按钮 <input type="reset">, 用来重置表单。
一般按钮 <input type="button">, 用来控制其他定义了处理脚本的处理工作。
下拉选择框<select> <option> </option> </select>, 下拉选择框允许你在一个有限的空间设置多种选项。 - 隐藏域 ,是用来收集或发送信息的不可见元素,对于网页的访问者来说,隐藏域是看不见的。当表单被提交时,隐藏域就会将信息用你设置时定义的名称和值发送到服务器上。也是预防网络攻击的一种手段,暂时还未深入了解。
<input type="hidden">
2.post 和 get 方式的区别?
主要区别:
- GET后退按钮/刷新无害,POST数据会被重新提交(浏览器应该告知用户数据会被重新提交)。
- GET书签可收藏,POST为书签不可收藏。
- GET能被缓存,POST不能缓存 。
- GET编码类型application/x-www-form-url,POST编码类型application/x-www-form-urlencoded 或 multipart/form-data。为二进制数据使用多重编码。
- GET历史参数保留在浏览器历史中。POST参数不会保存在浏览器历史中。
- GET对数据长度有限制,当发送数据时,GET 方法向 URL 添加数据;URL 的长度是受限制的(URL 的最大长度是 2048 个字符)。POST无限制。
- GET只允许 ASCII 字符。POST没有限制。也允许二进制数据。 与 POST 相比,GET 的安全性较差,因为所发送的数据是 URL 的一部分。在发送密码或其他敏感信息时绝不要使用 GET !POST 比 GET 更安全,因为参数不会被保存在浏览器历史或 web 服务器日志中。GET的数据在 URL 中对所有人都是可见的。POST的数据不会显示在 URL 中。
3.在input里,name 有什么作用?
- name用于定义这个input收到的值的变量名,例如type="text", name="txt"的input输入“hello world",那么就有txt="hello world"; 数据传输到服务器,就相当于收集到的信息的变量名为txt:填写的数据。
4.radio 如何 分组?
- 通过name属性分组,相同的name属性值为一组。
radio.png
QQ截图20171021145057.png
5.placeholder 属性有什么作用?
- placeholder属性能让你在文本框里向用户显示提示的信息。
placeholder.png
6.type=hidden隐藏域有什么作用? 举例说明
- 作用:隐藏域在页面中对于用户是不可见的,在表单中插入隐藏域的目的在于收集或发送信息,以利于被处理表单的程序所使用。浏览者单击发送按钮发送表单的时候,隐藏域的信息也被一起发送到服务器。
- 举例: 有些时候我们要给用户一信息,让他在提交表单时提交上来以确定用户身份,如sessionkey等。当然这些东西也能用cookie实现,但使用隐藏域就简单的多了.而且不会有浏览器不支持,用户禁用cookie的烦恼。
- 有些时候一个form里有多个提交按钮,怎样使程序能够分清楚到底用户是按那一个按钮提交上来的呢?我们就可以写一个隐藏域,然后在每一个按钮处加上onclick=”document.form.command.value=”xx””然后我们接到数据后先检查command的值就会知道用户是按的那个按钮提交上来的。
- 有时候一个网页中有多个form,我们知道多个form是不能同时提交的,但有时这些form确实相互作用,我们就可以在form中添加隐藏域来使它们联系起来。
- JavaScript不支持全局变量,但有时我们必须用全局变量,我们就可以把值先存在隐藏域里,它的值就不会丢失了。
- 还有个例子,比如按一个按钮弹出四个小窗口,当点击其中的一个小窗口时其他三个自动关闭.可是IE不支持小窗口相互调用,所以只有在父窗口写个隐藏域,当小窗口看到那个隐藏域的值是close时就自己关掉。