油麻菜籽歌词:关于input,type为hidden的问题

来源:百度文库 编辑:偶看新闻 时间:2024/04/30 10:51:30
关于input,type为hidden的问题2011-04-28 13:30

今天培训说到了input标签的type属性设置为hidden。

原来一直没有这么用过,仔细询问,查下来,大概有了理解。

看看w3school怎么说的:

Html  Dom  Hidden 对象

Hidden 对象代表一个 HTML 表单中的某个隐藏输入域。

这种类型的输入元素实际上是隐藏的。这个不可见的表单元素的 value 属性保存了一个要提交给 Web 服务器的任意字符串。如果想要提交并非用户直接输入的数据的话,就是用这种类型的元素。

在 HTML 表单中 标签每出现一次,一个 Hidden 对象就会被创建。

您可通过遍历表单的 elements[] 数组来访问某个隐藏输入域,或者通过使用document.getElementById()。

【经我发现,雅虎中国的注册主页存在很多这样的input,均设置有id名和name属性,可以认为用获取id的这种方法比较好】

 

用途:input  type=hidden 元素不会显示在文档里,所以用户也无法操作该元素。该元素通常用来传输一些客户端到服务器的状态信息。虽然此元素不会显示出来,但是用户可以通过查看 HTML 的源代码看到该元素属性的值,所以请注意,不要用该元素传递敏感信息,比如密码什么的。

 

最后说说老蔡给我讲的实际应用方面的理解:

一、比如说要提交表单,在处理页面上为了判断页面是第一次打开的,还是从别的页面直接到我的处理页面的,那么我加一个input,type为hidden,value="YES",那么处理页面就可以先判断这个hidden的value是不是YES来判断是不是从有这个hidden的页面提交的。

二、比如说一个页面要承载两个功能,一个是添加,一个是修改。我可以放一个input,它的type为hidden。修改的value赋值为update,添加的value赋值为insert。那么我的处理页面就可以去判断了,到底是修改还是要添加(但是说防别的站点直接提交到我的处理页面,是不用这个来判断的)


此外再就像小新老师说的那样:

因为input兼容难调,所以许多用js+其他标签来模拟input(这种看起来像表单但不是input标签的,就是模拟表单)。

这样和后台交互,需要有input,但是又不能input显示。所以就设置type为hidden。

最后在提交前把对应的input值改成模拟表单中的值,然后用一个submit函数就可以了。