PageSourceSearch

https://www.spiraxgroup.com/sXsAssets/js/src/vendor/formQueryStringAutoPopulate.js

js spiraxgroup.com collected 2026-09-30 16:56:28 UTC 2,378 bytes, 69 lines download raw bytes

1window.onload = new function() {
2      (function (w) {
3        w.URLSearchParams = w.URLSearchParams || function (searchString) {
4
5            var self = this;
6            self.searchString = searchString;
7
8            self.get = function (name) {
9                var results = new RegExp('[\?&]' + name + '=([^&#]*)').exec(self.searchString);
10                if (results == null) {
11                    return null;
12                }
13                else {
14                    return decodeURIComponent(results[1]) || 0;
15                }
16            };
17
18            self.has = function (key) {
19                return (self.get(key) !== null)
20            };
21        }
22
23    })(window)
24
25
26    var getQueryStringValueIfFieldExists = function (field) {
27        if (field) {
28            var fieldName = field.getAttribute("data-sc-field-name");
29            if (fieldName) {
30                fieldName = fieldName.replace(/\s/g, '');
31                if (urlParams.has(fieldName)) {
32                    return urlParams.get(fieldName);
33                } else {
34                    return null;
35                }
36            }
37        }
38    }
39
40
41    var setInputFieldValuesFromQueryString = function (params) {
42        var inputFields = document.getElementsByTagName('input');
43        for (var i = 0; i < inputFields.length; i++) {
44            var queryStringValue = getQueryStringValueIfFieldExists(inputFields[i]);
45            if (queryStringValue) {
46                inputFields[i].value = queryStringValue;
47            }
48        }
49    }
50    
51
52    var setDropdownFieldValuesFromQueryString = function (params) {
53        var inputFields = document.getElementsByTagName('select');
54        for (var i = 0; i < inputFields.length; i++) {
55            var queryStringValue = getQueryStringValueIfFieldExists(inputFields[i]);
56            if (queryStringValue) {
57                for (var j = 0; j <  inputFields[i].options.length; j++) {
58                    if (inputFields[i].options[j].value === queryStringValue) {
59                        inputFields[i].value = queryStringValue;
60                    }
61                }
62            }  
63        }
64    }
65
66    var urlParams = new URLSearchParams(window.location.search);
67    setInputFieldValuesFromQueryString(urlParams);
68    setDropdownFieldValuesFromQueryString(urlParams);
69}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.