For

作者: ezrealor | 来源:发表于2017-06-12 01:11 被阅读0次

    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中添加隐藏域来使它们联系起来。


    相关文章

      网友评论

          本文标题: For

          本文链接:https://www.haomeiwen.com/subject/kfhsxxtx.html