input type="hidden"

的"hidden"设web开发者包括能够当表单提交不会被用户看到或修改的数据。例如,当前正在订购或编辑的内容的ID,或唯一的安全令牌。隐藏的输入在呈现的页面中完全不可见,并且无法在页面的内容中显示。

注意:下面的代码行下面有一个实例 - 如果它正常工作,你什么也看不到!

表示要传回服务器的隐藏数据的值的DOMString。

活动

没有。

支持的通用属性

自动完成

IDL属性

方法

没有。

该元素的value属性包含一个DOMString包含要当表单提交给服务器,包括隐藏的数据。尽管您可以通过浏览器开发工具编辑该值,但用户无法通过用户界面对其进行编辑或查看。

虽然该值不会显示给页面内容中的用户,但可以使用任何浏览器的开发人员工具或“查看源代码”功能进行查看并进行编辑。不要依赖hidden投入作为一种安全形式。

使用隐藏的输入

如上所述,隐藏的输入可以用在任何你希望包含数据的地方,用户在提交给服务器时不能看到或者与表单一起编辑。我们来看一些例子来说明它的用法。

跟踪编辑的内容

隐藏输入最常见的用途之一是跟踪提交编辑表单时需要更新的数据库记录。典型的工作流程如下所示:

用户决定编辑他们控制的某些内容,例如博客文章或产品条目。他们通过按编辑按钮开始。

要编辑的内容从数据库中获取并加载到HTML表单中以允许用户进行更改。

编辑完成后,用户提交表单,并将更新后的数据发送回服务器,在数据库中进行更新。

这里的想法是,在步骤2中,正在更新的记录的ID保存在隐藏的输入中。在步骤3中提交表单时,ID会自动发回到记录内容的服务器。该ID使站点的服务器端组件准确知道哪些记录需要使用提交的数据进行更新。

您可以在下面的“示例”部分查看完整示例。

提高网站的安全性

隐藏的输入也用于存储和提交安全令牌或秘密,以提高网站的安全性。其基本思想是,如果用户正在填写一个敏感的表格,比如他们的银行网站上的一个表格,以便将一些钱转移到另一个帐户,那么他们将提供的秘密将证明他们是他们所说的那个人,他们正在使用正确的表单提交转移请求。

这样做可以阻止恶意用户伪造假表单,伪装成银行,并通过电子邮件将表单发送给不知情的用户,从而诱骗他们将资金转移到错误的地方。这种攻击称为跨站点请求伪造(CSRF)(https://developer.mozilla.org/en-US/docs/Learn/Server-side/First steps / Website_security#Cross_Site_Request_Forgery(CSRF%29) ;漂亮许多有信誉的服务器端框架使用隐藏的秘密来防止这种攻击。

如前所述,将秘密置于隐藏的输入中本身不会使其安全。密钥的组成和编码将做到这一点。隐藏输入的值是保存与数据关联的秘密,并在表单发送到服务器时自动包含它。您需要使用精心设计的秘密来保护您的网站。

验证器

隐藏的输入不参与约束验证; 他们没有真正的价值被约束。

例子

让我们看看我们如何实现前面描述的编辑表单的简单版本(请参阅跟踪编辑的内容),使用隐藏的输入来记住正在编辑的记录的ID。

编辑表单的HTML可能看起来有点像这样:

Post title:

Post content:

This is the content of my excellent blog post. I hope you enjoy it!

Update post

我们还要添加一些简单的CSS:

html {

font-family: sans-serif;

}

form {

width: 500px;

}

div {

display: flex;

margin-bottom: 10px;

}

label {

flex: 2;

line-height: 2;

text-align: right;

padding-right: 20px;

}

input, textarea {

flex: 7;

font-family: sans-serif;

font-size: 1.1rem;

padding: 5px;

}

textarea {

height: 60px;

}

"postID"在将表单发送到用户的浏览器之前,服务器将把隐藏的输入的值设置为其数据库中的帖子的ID,并且在表单返回时使用该信息来知道要更新哪个数据库记录信息。内容中不需要脚本处理。

输出如下所示:

注意:您也可以在GitHub上找到示例(请参阅源代码,也可以在线观看)。

提交时,发送到服务器的表单数据将如下所示:

title=My+excellent+blog+post&content=This+is+the+content+of+my+excellent+blog+post.+I+hope+you+enjoy+it!&postId=34657

即使隐藏的输入根本看不到,它的数据仍然被提交。

规范

规范

状态

评论

WHATWG HTML生活标准该规范中'''的定义。

生活水平

初始定义

HTML 5.1该规范中'''的定义。

建议

初始定义

浏览器兼容性

Feature

Chrome

Edge

Firefox (Gecko)

Internet Explorer

Opera

Safari

Basic support

1.0

(Yes)

1.0 (1.7 or earlier)

(Yes)

1.0

1.0

Feature

Android

Chrome for Android

Edge

Firefox Mobile (Gecko)

IE Mobile

Opera Mobile

iOS WebKit (Safari/Chrome/Firefox/etc)

Basic support

(Yes)

(Yes)

(Yes)

4.0 (2.0)

(Yes)

(Yes)

(Yes)

html+input+hidden,input type=hidden相关推荐

  1. input type=hidden /在IE中占空间(转)

    input 的 type 设为 hidden 的话,就是隐藏域(废话).隐藏域在页面中不显示,但可以有值.既然是"隐藏"的,怎么还说会占空间呢.这是 IE 的 bug,不过这个 b ...

  2. ASP.NET MVC CheckBoxFor为什么会生成hidden input控件

    自己开发的公众号,可以领取淘宝内部优惠券 @Html.CheckBoxFor(m => m.Bool) 使用CheckBoxFor方法得到的html代码会是下面这个样子 <input ch ...

  3. html 中表单元素input type=hidden的作用

    转自:https://blog.csdn.net/xiaobing_122613/article/details/54946559 (隐藏只是在网页页面上面不显示输入框,但是虽然隐藏了,还是具有for ...

  4. POST请求转换为其他请求失效 input type=“hidden“ name=“_method“ value=“put“无效

    在使用Springboot进行RESTFUL风格开发时需要将表单数据以其他请求提交. 直接在表单中添加 <input type="hidden" name="_me ...

  5. HTML元素 - input type=hidden

    定义 传输关于客户/服务器交互的状态信息. Transmits state information about client/server interaction. 注释 这种输入类型用户无法控制,但 ...

  6. 表单元素input type=”hidden”的作用

    隐藏域在页面中对于用户是不可见的,在表单插入中隐藏域的目的在于收集和发送信息,以利于被处理表单的程序所使用 注:隐藏只是在网页页面上不显示输入框,但是虽然隐藏了,还是具有form传值功能.一般用来传值 ...

  7. html(隐藏域)<input type=“hidden“ id=““/>用法

    解决一个前端页面查询的方法: 问题介绍: (1)中描述不添加查询条件,那就查询所有,之后点击查询. (2)查询结果数据库中一共有10条记录,每页分两条共五页. (1)这个在名称出输入 2. (2)但是 ...

  8. [前台]---input标签中的hidden,浏览器差异问题

    前言: 这是一个比较简单的问题,也有人犯过这样的错误,如果你是一个人在编码,并且没有专门的去测试浏览器差异,这个或许会坑到你 问题描述: 用input标签的时候,需要把这个input隐藏掉,于是先这样 ...

  9. html input hiden,input hidden属性

    今天用到了input标签的type属性设置为hidden. 原来一直没有这么用过,仔细询问,查下来,大概有了理解. 看看w3school怎么说的: Html  Dom  Hidden 对象 Hidde ...

最新文章

  1. alpine 交互sh_在这个免费的交互式教程中学习Alpine JS
  2. 使用np.load()加载数据 报错 Object arrays cannot be loaded when allow_pickle=False
  3. Nmap源码分析(基本框架)
  4. 用c语言完成银行排号系统,【分享】C语言 银行取票排队系统
  5. 全屏的三栏div+css布局示例
  6. 程序员的六种境界(摘抄)
  7. java字节码运行原理_JVM 内部原理(六)— Java 字节码基础之一
  8. POJ 1172 DFS
  9. Windows子系统安装图形界面
  10. LeetCode 121. Best Time to Buy and Sell Stock
  11. Django账号绑定邮箱时发送链接
  12. celery4+django2定时任务
  13. 基于HTTP协议的轻量级开源简单消息队列服务:HTTPSQS
  14. 概念数据模型、逻辑数据模型、物理数据模型
  15. Excel中Match()函数使用方法
  16. python编写年金现值计算函数_养老金中的钱是怎么算出来的?
  17. 英语基本句型及一般时态
  18. 北京大学C语言学习第8天
  19. 有关于进程,线程and协程
  20. 【C语言入门游戏】三子棋的实现———【保姆级教学】

热门文章

  1. python程序设计实验指导书_“Python程序设计”实验指导书.pdf
  2. Windows下根据进程id获得进程名
  3. datatable转list方法(有借鉴到他人)
  4. LLVM PHI - if else
  5. linux-5.12-rc1-dontuse
  6. 云计算:OpenStack、Docker、K8S(Kubernetes容器编排工具)的演进史 | 附推荐阅读
  7. C语言libcurl例程:multi 多线程,多任务
  8. 用c语言写的电话簿的程序,用C语言散列表实现电话薄
  9. 打印pdf文件 vfp_新技能,如何将多份pdf电子发票文件合成一份文档打印
  10. 外链引入css有哪些方式_CSS 文件的4种引入方式