フォームの内容を保存する (question:1378793366)

  • /*
     * @title フォームの内容を保存する (question:1378793366)
     * @description フォームの内容を保存する (question:1378793366)
     * @include http://*
     * @license MIT License
     * @require 
     */
    (function() {
        var COOKIE_NAME = "capsuleq_form_item";
        var KEY_VALUE_SEP = "☆☆☆";
        var ITEM_SEP = "★★★";
    
        function find_form() {
            var f = document.getElementsByTagName("FORM");
            for (var i = 0 ; i < f.length ; ++i) {
                for (var j = 0 ; j < f[i].length ; ++j) {
                    if (f[i].elements.item(j).name == "company") {
                        return f[i];
                    }
                }
            }
        }
    
        var f = find_form();
        if (f) {
            var vv = [];
            for (var i = 0 ; i < f.length ; ++i) {
                vv.push(f.elements.item(i).name + KEY_VALUE_SEP + f.elements.item(i).value);
            }
            var s = vv.join(ITEM_SEP);
    
            s = COOKIE_NAME + "=" + escape(s) + "; ";
            s += "path=/; ";
            s += "expires=" + (new Date(new Date().getTime() + 60*60*1000).toUTCString()) + "; ";
            
            // クッキーに保存
            document.cookie=s;
        }
    })();
    
    
    
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。

History

  1. 2013/09/12 14:03:23 - 2013-09-12