html隱藏域指的是網(wǎng)頁中用戶不可見的表單元素,語法“<input type="hidden" value="值">”。在表單中插入隱藏域的目的在于收集或發(fā)送信息,以利于被處理表單的程序所使用。
本教程操作環(huán)境:windows7系統(tǒng)、HTML5版、Dell G3電腦。
隱藏域:指的是網(wǎng)頁中用戶不可見的表單元素,即被隱藏了的表單元素。
基本語法:
<input type="hidden" name="field_name" value="value">
作用:
隱藏域在頁面中對于用戶是不可見的,在表單中插入隱藏域的目的在于收集或發(fā)送信息,以利于被處理表單的程序所使用。瀏覽者單擊發(fā)送按鈕發(fā)送表單的時候,隱藏域的信息也被一起發(fā)送到服務(wù)器。
有些時候我們要給用戶一信息,讓他在提交表單時提交上來以確定用戶身份,如sessionkey,等等.當(dāng)然這些東西也能用cookie實現(xiàn),但使用隱藏域就簡單的多了.而且不會有瀏覽器不支持,用戶禁用cookie的煩惱。
有些時候一個form里有多個提交按鈕,怎樣使程序能夠分清楚到底用戶是按那一個按鈕提交上來的呢?我們就可以寫一個隱藏域,然后在每一個按鈕處加上onclick="document.form.command.value="xx""然后我們接到數(shù)據(jù)后先檢查command的值就會知道用戶是按的那個按鈕提交上來的。
有時候一個網(wǎng)頁中有多個form,我們知道多個form是不能同時提交的,但有時這些form確實相互作用,我們就可以在form中添加隱藏域來使它們聯(lián)系起來。
javascript不支持全局變量,但有時我們必須用全局變量,我們就可以把值先存在隱藏域里,它的值就不會丟失了。
還有個例子,比如按一個按鈕彈出四個小窗口,當(dāng)點擊其中的一個小窗口時其他三個自動關(guān)閉.可是IE不支持小窗口相互調(diào)用,所以只有在父窗口寫個隱藏域,當(dāng)小窗口看到那個隱藏域的值是close時就自己關(guān)掉。
例子: 使用hidden實現(xiàn)點擊提交按鈕數(shù)字加1
數(shù)值自增.htm
代碼如下:
<form action="數(shù)值自增.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>
使用一般處理程序?qū)崿F(xiàn)數(shù)值自增.ashx
代碼如下:
int n = 0; public void ProcessRequest (HttpContext context) { context.Response.ContentType = "text/html"; string path = context.Request.MapPath("數(shù)值自增.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對應(yīng)的隱藏域賦值 html = html.Replace("@n", n.ToString()); } context.Response.Write(html); }
推薦教程:《html視頻教程》