JavaScriptで名前付きCookieを設定する方法【サンプルコード付きで解説】
JavaScriptで名前付きCookieを設定するには?
Web開発において、Cookieはユーザーの情報をブラウザ側に保存しておくための重要な仕組みです。JavaScriptでは、document.cookieプロパティを使うことで、簡単に名前付きのCookie(キーと値のペア)を設定できます。
この記事では、フォームに入力された顧客名を「name」という名前のCookieとして保存する具体例を紹介します。
名前付きCookieの設定方法
Cookieを設定する基本構文は以下のとおりです。
document.cookie = "名前=値";
このように、「名前=値」という形式の文字列をdocument.cookieに代入するだけで、Cookieが保存されます。複数のCookieを扱う場合は、それぞれ異なる名前を付けて設定します。
実装例:顧客名をCookieに保存する
次のコードは、テキストボックスに入力された名前を取得し、「name」という名前のCookieとして保存するサンプルです。入力が空の場合はアラートを表示して処理を中断します。
サンプルコード
<html>
<head>
<script>
function WriteCookie() {
// 入力チェック:空の場合は警告を表示して終了
if (document.myform.customer.value == "") {
alert("何か値を入力してください!");
return;
}
// 入力値をエンコードしてCookie形式に整形
cookievalue = escape(document.myform.customer.value) + ";";
// 「name」という名前でCookieを設定
document.cookie = "name=" + cookievalue;
document.write("Cookieを設定しました : " + "name=" + cookievalue);
}
</script>
</head>
<body>
<form name="myform" action="">
名前を入力してください: <input type="text" name="customer" />
<input type="button" value="Cookieを設定" onclick="WriteCookie();" />
</form>
</body>
</html>
コードのポイント解説
- escape()関数:入力値に含まれる特殊文字(セミコロンやカンマなど)をエンコードし、Cookieとして安全な形式に変換します。なお、現在ではより推奨される
encodeURIComponent()を使うのが一般的です。 - セミコロンの付与:値の末尾に「;」を追加していますが、これは単一の属性のみを設定する場合には必須ではありません。有効期限(expires)やパス(path)などの属性を追加する際に区切り文字として使われます。
- 入力チェック:空の値が送信されないよう、事前にバリデーションを行っています。
動作確認の手順
- 上記のコードをHTMLファイルとして保存し、ブラウザで開きます。
- テキストボックスに任意の名前を入力します。
- 「Cookieを設定」ボタンをクリックすると、画面に設定されたCookieの内容が表示されます。
- ブラウザの開発者ツール(F12キー)→「Application」タブ→「Cookies」から、保存されたCookieを確認できます。
まとめ
JavaScriptで名前付きCookieを設定するのは非常にシンプルで、document.cookieに「名前=値」の形式で代入するだけです。ユーザーの設定情報やログイン状態の一時保存など、さまざまな場面で活用できるので、ぜひ基本的な書き方をマスターしておきましょう。
-
JavaScriptで配列をセット(Set)に変換する方法|new Set()の使い方を解説
JavaScriptでは、new Set() コンストラクタを使うことで、配列を簡単にセット(Setオブジェクト)へ変換できます。セットは同じ値を自動的に1つだけ保持する性質を持つため、配列から重複した要素を取り除きたい場合にも非常に便利です。 配列をセットに変換するサンプルコード 以下は、ボタンをクリックすると配列がセットに変換されて表示される、完全なHTMLサンプルです。 <!DOCTYPE html> <html lang=ja> <head> <meta charset=UTF-8 /> <meta name=viewport co
-
JavaScriptでドキュメントの読み込み状態(readyState)を確認する方法
JavaScriptでドキュメント(ページ)の読み込みが完了しているかどうかを確認するには、document.readyStateプロパティを使用します。このプロパティは、現在のドキュメントの読み込み状況に応じて以下の3つの文字列を返します。loading … ドキュメントがまだ読み込み中の状態interactive … ドキュメントの解析は完了したが、画像などのサブリソースは still 読み込み中の状態complete … ドキュメントとすべてのサブリソースの読み込みが完了した状態以下は、ボタンをクリックしたタイミングでdocument.readyStateの値を判定し、ページの読み込み状