tokuhirom
1/27/2015 - 1:38 PM

fillinform.js

fillinform.js

    (function () {
      // public domain. buggy.
        "use strict"
        var elems = document.getElementsByClassName("fillinform");
        var query = parseQuery();
        for (var i = 0, l = elems.length; i < l; i++) {
            var it = elems[i];
            Object.keys(query).forEach(function (key) {
                var input = it.querySelector("input[name=" + key + "]");
                if (input.type == "checkbox") {
                    input.checked = true;
                } else {
                    input.value = query[key];
                }
            });
        }

        function parseQuery() {
            var query = window.location.search.substring(1);
            var vars = query.split('&');
            var retval = { };
            for (var i = 0; i < vars.length; i++) {
                var pair = vars[i].split('=');
                var key = decodeURIComponent(pair[0]);
                var val = decodeURIComponent(pair[1]);
                retval[key] = val;
            }
            return retval;
        }

    })();