ホームページ >ウェブフロントエンド >htmlチュートリアル >htmlに隠された隠しドメインの役割と活用例を紹介

htmlに隠された隠しドメインの役割と活用例を紹介

不言
不言オリジナル
2018-04-27 14:30:591986ブラウズ

この記事では主に HTML の隠しフィールドの役割と使用例を紹介します。必要な場合はそれを共有します。

隠しフィールドはページ上では表示されません。 、フォームに隠しフィールドを挿入する目的は、フォームを処理するプログラムで使用できるように情報を収集または送信することです。この隠しフィールドが実際にどのように使用されるかを詳しく紹介します。興味のある方はお見逃しなく。 基本構文:

<input type="hidden" name="field_name" value="value">

機能:

1 フォームに非表示フィールドを挿入する目的は、情報を収集または送信することです。使用されるフォームを処理するプログラム。閲覧者が送信ボタンをクリックしてフォームを送信すると、隠しフィールドの情報もサーバーに送信されます。

2 フォームを送信するときに、ユーザーの身元を特定するために、セッションキーなどの情報をユーザーに提供する必要がある場合があります。もちろん、これらは Cookie を使用して実装することもできますが、非表示フィールドを使用する方がはるかに簡単です。また、ブラウザーがサポートしていないことやユーザーが Cookie を無効にすることを心配する必要はありません。

3 フォームに複数の送信ボタンがある場合がありますが、プログラムはユーザーがどのボタンを押して送信したかをどのように区別できるのでしょうか?隠しフィールドを作成し、onclick="document.form.command.value="xx"" を各ボタンに追加します。データを受け取った後、最初にコマンドの値をチェックすることで、どれがどれであるかを知ることができます。ユーザーが送信ボタンをクリックしました。

4 Web ページに複数のフォームが存在する場合がありますが、複数のフォームを同時に送信することはできませんが、場合によっては、これらのフォームが相互に作用して接続できることがあります。

5 JavaScript はグローバル変数をサポートしていませんが、場合によってはグローバル変数を使用しなければならない場合があります。最初に値を隠しフィールドに保存すると、その値は失われません。

6 別の例として、ボタンを押すと 4 つの小さなウィンドウが表示され、そのうちの 1 つをクリックすると、他の 3 つは自動的に閉じます。ただし、IE は小さなウィンドウの相互呼び出しをサポートしていないため、親ウィンドウに隠しフィールドを書き込むことしかできません。小さなウィンドウは、隠しフィールドの値が近いことを確認すると、それ自体を閉じます。

例: 送信ボタンをクリックしたときに数値が 1 ずつ増加するように実装するには、hidden を使用します

Numerical self-increment.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>

Use

数値自己インクリメントを実装するための一般的なハンドラー

コードをコピー

コードは次のとおりです:

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に隠された隠しドメインの役割と活用例を紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。