首頁  >  文章  >  web前端  >  詳解html中隱藏域hidden的作用介紹及使用範例程式碼

詳解html中隱藏域hidden的作用介紹及使用範例程式碼

高洛峰
高洛峰原創
2017-03-14 17:56:255442瀏覽

隱藏域在頁面中對於用戶是不可見的,在表單中插入隱藏域的目的在於收集或發送信息,以利於被處理表單的程序所使用,下面為大家詳細介紹下此隱藏域在實際中時如何使用的,有興趣的朋友不要錯過了哈基本語法:

9f64f69bba3fe974e2d667558ac87eca

作用:

1 隱藏網域在頁面中對使用者是不可見的,在表單中插入隱藏網域的目的在於收集或傳送訊息,以利於被處理表單的程式所使用。瀏覽者點選傳送按鈕傳送表單的時候,隱藏網域的資訊也會一起傳送到伺服器。

2 有些時候我們要給用戶一信息,讓他在提交表單時提交上來以確定用戶身份,如sessionkey,等等.當然這些東西也能用cookie實現,但使用隱藏域就簡單的多了.而且不會有瀏覽器不支持,用戶禁用cookie的煩惱。

3 有些時候一個form裡有多個提交按鈕,怎麼能讓程式分清楚到底用戶是按那一個按鈕提交上來的呢?我們就可以寫一個隱藏域,然後在每一個按鈕處加上onclick="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="_p" value="@n" /> 
<!-- <input name="txt" type="text" value="@value" />--> 
<p>@n</p> 
<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["_p"]; 
if (int.TryParse(s, out n)) 
{ 
n++; 
html = html.Replace("@n",n.ToString()); 
} 
} 
else 
{ 
//页面首次加载,给p和p对应的隐藏域赋值 
html = html.Replace("@n", n.ToString()); 
} 
context.Response.Write(html); 
}


#

以上是詳解html中隱藏域hidden的作用介紹及使用範例程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn