《前端》隐藏域是什么?
隐藏域是用来收集或发送信息的不可见元素,对于网页的访问者来说,隐藏域是看不见的。当表单被提交时,隐藏域就会将信息用你设置时定义的名称和值发送到服务器上。
代码格式:<input type="hidden" name="..." value="...">
属性解释:
type="hidden"定义隐藏域;
name属性定义隐藏域的名称,要保证数据的准确采集,必须定义一个独一无二的名称;
value属性定义隐藏域的值
例如:<input type="hidden" name="ExPws" value="dd">
其实说白了就隐藏域不在前台显示的,跟表单的元素一样,有名字有数值,只是在提交数据是不可见的。
其实说白了,就是从表中取值ID值,或者别的变量值,但在页面中不显示,然后经过<form action=xx.asp>的递交到新一页,通过request.form("隐藏域名的name")取出值。
如:
1、<input type="hidden" name="coun" value=<%=cc%>>
这里的隐藏域名为coun,值为<%=cc%>,假设前面cc=100的话,即值为100;
2、递交表单<form action=xx.asp>到新页面xx.asp;
3、在xx.asp页中,使用request.write request.form("coun"),则在页面中显示的值就是100
简单来说就是:想要提取上一页的某些信息,但在上一页又不能显示的这些东西就采用隐藏域。
作用:
1 隐藏域在页面中对于用户是不可见的,在表单中插入隐藏域的目的在于收集或发送信息,以利于被处理表单的程序所使用。浏览者单击发送按钮发送表单的时候,隐藏域的信息也被一起发送到服务器。
2 有些时候我们要给用户一信息,让他在提交表单时提交上来以确定用户身份,如sessionkey,等等.当然这些东西也能用cookie实现,但使用隐藏域就简单的多了.而且不会有浏览器不支持,用户禁用cookie的烦恼。
3 有些时候一个form里有多个提交按钮,怎样使程序能够分清楚到底用户是按那一个按钮提交上来的呢?我们就可以写一个隐藏域,然后在每一个按钮处加上οnclick="document.form.command.value="xx""然后我们接到数据后先检查command的值就会知道用户是按的那个按钮提交上来的。
4 有时候一个网页中有多个form,我们知道多个form是不能同时提交的,但有时这些form确实相互作用,我们就可以在form中添加隐藏域来使它们联系起来。
5 javascript不支持全局变量,但有时我们必须用全局变量,我们就可以把值先存在隐藏域里,它的值就不会丢失了。
6 还有个例子,比如按一个按钮弹出四个小窗口,当点击其中的一个小窗口时其他三个自动关闭.可是IE不支持小窗口相互调用,所以只有在父窗口写个隐藏域,当小窗口看到那个隐藏域的值是close时就自己关掉。
例子: 使用hidden实现点击提交按钮数字加1
数值自增.htm
复制代码
代码如下:
<form action="数值自增.ashx" method="post">
<input type="hidden" name="_viewstate" value="a" />
<input type="hidden" name="_div" value="@n" />
<!-- <input name="txt" type="text" value="@value" />-->
<div>@n</div>
<input type="submit" value="click" />
</form>
使用一般处理程序实现
数值自增.ashx
复制代码
代码如下:
int n = 0;
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/html";
string path = context.Request.MapPath("数值自增.htm");
string html = System.IO.File.ReadAllText(path);
//判断页面是否是第一次加载
string viewstate = context.Request.Form["_viewstate"];
if (!string.IsNullOrEmpty(viewstate))
{
//点击按钮 post
//获取隐藏域的值
string s = context.Request.Form["_div"];
if (int.TryParse(s, out n))
{
n++;
html = html.Replace("@n",n.ToString());
}
}
else
{
//页面首次加载,给div和div对应的隐藏域赋值
html = html.Replace("@n", n.ToString());
}
context.Response.Write(html);
}
《前端》隐藏域是什么?相关推荐
- 前端:HTML/06/表单,表单元素(单行文本域,单行密码域,单选按钮,复选框,下拉列表,文本区域,上传文件域,各种按钮,隐藏域,lt;caption表格标题)
表单<form>(块元素) 表单的概念:表单主要用来获取用户数据(信息),如:注册表单, 查询表单,登录表单. 表单的工作原理: 浏览有表单的网页,填写一些必要的信息,然后点击某个按钮进行 ...
- 表单中隐藏域的html代码是,JS中input表单隐藏域及其使用方法_心病_前端开发者...
一.表单隐藏域 隐藏域是用来收集或发送信息的不可见元素,对于网页的访问者来说,隐藏域是看不见的.当表单被提交时,隐藏域就会将信息用你设置时定义的名称和值发送到服务器上. 代码格式: <input ...
- input值不可变、隐藏input(表单隐藏域)
input标签值不可变.隐藏标签 一.值不可变 方法1:readonly 方法2:disabled readonly 和 disabled的区别: 二.隐藏\标签(表单隐藏域) 一.值不可变 在写前端 ...
- 隐藏域hidden的使用-HTML入门基础(024)
我们接着上节的内容,上一节我们学习了三种按钮,在HTML中有一种图片域标签,可以用图片方式形成按钮. 语法: <input type="image" src="图片 ...
- WebForm框架、隐藏域
WebForm介绍 WebForm是微软推出的一款为了吸引更多的其他开发者能够快速入门到.NET技术中的一个框架,让开发人员感觉使用.NET技术进行BS开发和使用.NET技术进行CS开发一样简单快速. ...
- html(隐藏域)<input type=“hidden“ id=““/>用法
解决一个前端页面查询的方法: 问题介绍: (1)中描述不添加查询条件,那就查询所有,之后点击查询. (2)查询结果数据库中一共有10条记录,每页分两条共五页. (1)这个在名称出输入 2. (2)但是 ...
- 前端跨域问题的几种解决方案
前端跨域问题的几种解决方案 参考文章: (1)前端跨域问题的几种解决方案 (2)https://www.cnblogs.com/xinxingyu/p/6075881.html 备忘一下.
- 使用webpack-dev-server设置反向代理解决前端跨域问题
使用webpack-dev-server设置反向代理解决前端跨域问题 参考文章: (1)使用webpack-dev-server设置反向代理解决前端跨域问题 (2)https://www.cnblog ...
- ASP.NET状态管理之三(隐藏域HiddenField)
ASP.NET 允许您将信息存储在 HiddenField 控件中,此控件将呈现为一个标准的 HTML 隐藏域. 隐藏域在浏览器中不以可见的形式呈现,但您可以就像对待标准控件一样设置其属性. 当向服务 ...
最新文章
- python dict遍历性能,Python:遍历list vs over dict items效率
- python基础教程第三版怎么样-Python基础教程(第三版)(七)再谈抽象
- Linux定时任务Crontab学习笔记
- 散列(hash)练习题
- 看了豆瓣的差评以后,我不建议你买我的书了。
- 微信小程序这么火,到底会对C#开发者带来怎样的改变
- 消息队列(1):一个消息队列应该有的特点
- mysql binlog DDL_MySQL binlog原理及应用
- c语言成绩查询系统_如何用Excel制作成绩查询系统-Leo老师
- Hadoop作业提交多种方案具体流程详解
- 【SpringMVC学习10】SpringMVC对RESTfull的支持
- 杜比音效卡刷包android 7.0,杜比音效7.0清爽卡刷包-杜比音效7.0定制版v2.1.0 安卓版-手机腾牛网...
- 技术-经济范式视角下的开源软件演进剖析(三)
- VB中.frm .frx .vbp .vbw .scc有什么作用
- 罗马数字转换器|罗马数字生成器
- 利用DSRM账号进行权限维持
- lightgbm画决策树方法
- 你是人见人捏的“软柿子”吗
- 用严密的数学语言证明:周长相同时,圆面积最大
- 成大事,赚大钱,都要有股永不服输的精神