Form表单

Form表单有什么作用

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

有哪些常用的input 标签,分别有什么作用?

type="text" 定义单行输入文本框

type="button" 定义按钮

type="checkbox" 定义复选框,可多选

type="radio" 定义单选框,只能单选,并且所有单选框的name值一套保持一致,这样才能生效

type="submit" 定义提交按钮

type="password" 定义密码,输入时*代替输入值,看不到输入值

type="reset" 定义重置按钮,重置后表单重回默认时的状态

type="color" html5中用于指定颜色的控件

type="date" html5中用于输入日期的控件

post和get的区别

最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。

GET在浏览器回退时是无害的,而POST会再次提交请求。

GET产生的URL地址可以被Bookmark,而POST不可以。

GET请求会被浏览器主动cache,而POST不会,除非手动设置。

GET请求只能进行url编码,而POST支持多种编码方式。

GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。

GET请求在URL中传送的参数是有长度限制的,而POST没有。

对参数的数据类型,GET只接受ASCII字符,而POST没有限制。

GET比POST更不安全,因为参数直接暴露在URL上,所以不能用来传递敏感信息。

GET参数通过URL传递,POST放在Request body中。

在input里,name 有什么作用?

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

用途1:作为可与服务器交互数据的HTML元素的服务器端的标示,比如input、select、textarea、和button等。我们可以在服务器端根据其Name通过Request.Params取得元素提交的值。

用途2:HTML元素Input type='radio'分组,我们知道radio button控件在同一个分组类,check操作是mutex的,同一时间只能选中一个radio,这个分组就是根据相同的Name属性来实现的。

用途3:建立页面中的锚点,我们知道link是获得一个页面超级链接,如果不用href属性,而改用Name,如:,我们就获得了一个页面锚点。

用途4:作为对象的Identity,如Applet、Object、Embed等元素。比如在Applet对象实例中,我们将使用其Name来引用该对象。

用途5:在IMG元素和MAP元素之间关联的时候,如果要定义IMG的热点区域,需要使用其属性usemap,使usemap="#name"(被关联的MAP元素的Name)。

用途6:某些特定元素的属性,如attribute,meta和param。例如为Object定义参数或Meta中。

radio如何进行分组

radio通过name属性值来进行分组 具有相同的name属性值的radio为一组

placeholder 属性有什么作用?

placeholder属性一般会在输入框有一个提示信息,该提示会在输入字段为空时显示,并会在字段获得焦点时消失。但是要注意:

1  placeholder 属性适用于以下的类型:text, search, url, telephone, email 以及 password

2  placeholder为HTML5的新属性

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

隐藏域在页面中对于用户是不可见的,在表单中插入隐藏域的目的在于收集或发送信息,以利于被处理表单的程序所使用。浏览者单击发送按钮发送表单的时候,隐藏域的信息也被一起发送到服务器。例如可以防御CSRF(Cross-site request forgery,跨域请求伪造)攻击,解决办法: 在Form表单加一个hidden field,里面是服务端生成的足够随机数的一个Token(恶意网站猜不到也无法获取到相同的Token), 然后使用一个拦截器interceptor来检查每一个非get请求, 看该token与服务器token是否一致,不一致的不受理该请求

下面列举一些隐藏域的使用场景:

有些时候我们要给用户一信息,让他在提交表单时提交上来以确定用户身份,如sessionkey等。当然这些东西也能用cookie实现,但使用隐藏域就简单的多了.而且不会有浏览器不支持,用户禁用cookie的烦恼。

有些时候一个form里有多个提交按钮,怎样使程序能够分清楚到底用户是按那一个按钮提交上来的呢?我们就可以写一个隐藏域,然后在每一个按钮处加上onclick=”document.form.command.value=”xx””然后我们接到数据后先检查command的值就会知道用户是按的那个按钮提交上来的。

有时候一个网页中有多个form,我们知道多个form是不能同时提交的,但有时这些form确实相互作用,我们就可以在form中添加隐藏域来使它们联系起来。


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.form表单有什么作用?有哪些常用的input 标签,分别有什么作用? HTML 表单用于接收不同类型的用户输...
    大胡子歌歌阅读 4,425评论 0 1
  • form表单有什么作用?有哪些常用的input 标签,分别有什么作用? 标签用于为用户创建HTML表单,并向服务器...
    zx9426阅读 3,696评论 0 1
  • 什么是FORM表单: 表单是用来提交资料、意见,规范流程执行过程的格式。表单在网页中主要负责数据采集功能。一个表单...
    PYFang阅读 4,844评论 0 0
  • 1.动手 form 表单table 表格 2. <form>表单元素 1) 简述: 元素是块级元素,其开始标签和结...
    _Dot912阅读 6,240评论 2 8
  • 六 拥有一个取景框,这是人类认知与观看世界的方式。人类社会大多数情景下——都是通过框架来观看事物。北欧人的日常生活...
    诗哲魂阅读 4,196评论 0 6

友情链接更多精彩内容