Osheep

时光不回头,当下最重要。

HTML下的Form表单

1. form表单有什么作用?有哪些常用的input 标签,分别有什么作用?

form表单的作用是:

表单的作用是搜集用户的输入,用户提交表单时向服务器传输数据,从而实现用户与web服务器的交互。

常见的input标签和作用见下表

标签 作用
<input type="text"> 用来定义单行输入文本框
<input type="password"> 用来定义密码字段
<input type="submit"> 用来定义提交表达数据至表单数据程序的按钮
<input type="button"> 用来定义按钮
<input type="reset"> 用来定义重置按钮
<input type="file"> 用来定义输入字段和 “浏览…” 按钮,供文件上传
<input type="checkbox"> 用来定义复选框
<input type="radio"> 用来定义单选按钮
<input type="textarea"> 用来定义多行选项框
<input type="select"> 用来定义下拉菜单选项
<input type="hidden"> 用来定义隐藏域
2. POST和GET方式的区别?

根据在知乎以及维基百科还有私人博客查询的资料

  • GET是从服务器上获取数据,POST是向服务器传送数据。
  • 对于GET方式,服务器端用Request.QueryString来获取变量的值,对于POST方式,服务器端用Request.Form来获取提交的数据
  • get是把表单参数数据加到提交表单的action属性所指的URL中,如:http://www.xxx.com?id=1314&name=hello&age=20,用户信息对于用户是可见的,而post是把提交的数据放置在是HTTP包的包体中传送给服务器,用户信息对于用户是不可见的。
  • Get限制Form表单的数据集的值必须为ASCII字符;而Post支持整个ISO10646字符集(通用字符集)。
  • POST的安全性要比GET的安全性高,但是POST的执行效率比GET执行效率低
    传输数据的大小,HTTP协议没有对传输的数据大小进行限制,HTTP协议规范也没有对URL长度进行限制。
  • 而在实际开发中存在的限制主要有:
  1. GET:特定浏览器和服务器对URL长度有限制,例如IE对URL长度的限制是2083字节(2Kb+35),对于其他浏览器如Netscape、FireFox等,理论上没有长度限制,其限制取决于操作系统的支持。因此对于GET提交时,传输数据就会受到URL长度的限制。
  2. POST:由于不是通过URL传值,理论上数据不受限。但实际各个WEB服务器会规定对post提交数据大小进行限制,Apache、IIS6都有各自的配置。
  • GET请求的数据会被浏览器缓存起来,而POST却不行
  • 使用GET时,用户刷新页面,没有出现任何提示,使用POST会弹出消息框,提示用户是否重新提交

3. 在Input里,Name 有什么作用?

在input中,name的主要作用有一下三种

  • name规定了input元素的名称
  • name 属性用于对提交到服务器后的表单数据进行标识,或者在客户端通过 JavaScript 引用表单数据
  • 只有设置了 name 属性的表单元素才能在提交表单时传递它们的值。

4. radio 如何 分组?

在表单中radio的分组取决于name的属性

5. placeholder 属性有什么作用?

用来进行再输入框中的显示提示,当用户开始输入内容时候, 提示文字会消失 。

6. type=hidden隐藏域有什么作用? 举例说明

总结来看的话是

在表单提交的时候,我们经常使用到input hidden隐藏域,这个hidden隐藏域对用户是不可见的,那么我们为什么要在表单中使用hidden隐藏域呢,本文章向大家介绍hidden隐藏域作用及用法实例,需要的朋友可以参考一下。

hidden隐藏域无 外乎下面几点作用:

  • 隐藏域在页面中对于用户是不可见的,在表单中插入隐藏域的目的在于收集或发送信息,以利于被处理表单的程序所使用。浏览者单击发送按钮发送表单的时候,隐藏域的信息也被一起发送到服务器。
  • 有些时候我们要给用户一信息,让他在提交表单时提交上来以确定用户身份,如sessionkey,等等.当然这些东西也能用cookie实现,但使用隐藏域就简单的多了.而且不会有浏览器不支持,用户禁用cookie的烦恼。
  • 有些时候一个form里有多个提交按钮,怎样使程序能够分清楚到底用户是按那一个按钮提交上来的呢?我们就可以写一个隐藏域,然后在每一个按钮处加上onclick="document.form.command.value="xx""然后我们接到数据后先检查command的值就会知道用户是按的那个按钮提交上来的。
  • 有时候一个网页中有多个form,我们知道多个form是不能同时提交的,但有时这些form确实相互作用,我们就可以在form中添加隐藏域来使它们联系起来。
  • javascript不支持全局变量,但有时我们必须用全局变量,我们就可以把值先存在隐藏域里,它的值就不会丢失了。
  • 还有个例子,比如按一个按钮弹出四个小窗口,当点击其中的一个小窗口时其他三个自动关闭.可是IE不支持小窗口相互调用,所以只有在父窗口写个隐藏域,当小窗口看到那个隐藏域的值是close时就自己关掉

举例子来看的话就是:

浏览者单击发送按钮发送表单的时候,隐藏域的信息也被一起发送到服务器。当表单被提交时,隐藏域就会将信息用你设置时定义的名称和值发送到服务器上,可以让服务器知道数据采集的是否正确。

点赞