Return to Snippet

Revision: 30758
at September 5, 2010 00:18 by pogosheep


Updated Code
/**
     * Splits the location.search into an object.
     *
     * @param pageParameters The search.
     * @return an Object with the pageparameter.
     *
     * @author Layne Obserdia < [email protected] >
     * @since 2010-09-04
     */
    function getPageParameters(pageParameters) {
        pageParameters = pageParameters.substr(1).split('&');
        var pageParams = {};
        var parameters = [];
        for (var i = 0, parameter; parameter = pageParameters[i]; i++) {
            parameters[i] = parameter.split('=');
        }
        for (i = 0, parameter; parameter = parameters[i]; i++) {
            if (parameter[0].search(/\[\w+\]/) !== -1) {
                arrayName = parameter[0].match(/\w+\[/).toString().trim();
                var arrayElement = parameter[0].match(/\[\w+\]/).toString().trim();
                arrayElement = arrayElement.substr(1, arrayElement.length - 2);
                arrayName = arrayName.substr(0, arrayName.length - 1);
                if (pageParams[arrayName] === undefined) {
                    pageParams[arrayName] = {};
                }
                pageParams[arrayName][arrayElement] = parameter[1];
            }
            else {
                pageParams[parameter[0]] = parameter[1];
            }
        }
        return pageParams;
    }

Revision: 30757
at September 5, 2010 00:00 by pogosheep


Updated Code
/**
     * Splits the location.search into an object.
     *
     * @param pageParameters The search.
     * @return an Object with the pageparameter.
     *
     * @author Layne Obserdia < [email protected] >
     * @since 2010-09-04
     */
    function getPageParameters(pageParameters) {
        pageParameters = pageParameters.substr(1).split('&');
        var pageParams = {};
        var parameters = [];
        for (var i = 0, parameter; parameter = pageParameters[i]; i++) {
            parameters[i] = parameter.split('=');
        }
        for (i = 0, parameter; parameter = parameters[i]; i++) {
            if (parameter[0].search(/\[\w+\]/) !== -1) {
                arrayName = parameter[0].match(/\w+\[/).toString().trim();
                var arrayElement = parameter[0].match(/\[\w+\]/).toString().trim();
                arrayElement = arrayElement.substr(1, arrayElement.length - 2);
                arrayName = arrayName.substr(0, arrayName.length - 1);
                if (pageParams[arrayName] === undefined) {
                    pageParams[arrayName] = [];
                }
                pageParams[arrayName][arrayElement] = parameter[1];
            }
            pageParams[parameter[0]] = parameter[1];
        }
        return pageParams;
    }

Revision: 30756
at August 20, 2010 22:03 by pogosheep


Initial Code
/**
 * Splits the location.search into an object.
 *
 * @param pageParameter A string containing location.search
 * @return an Object with the pageparameter.
 *
 * @author Layne Obserdia < [email protected] >
 * @requires jQuery 1.4.2
 */
function splitPageParameter(pageParameter) {
    var pageParams = {};
    var parameters = [];
    pageParameter = pageParameter.substr(1);
    pageParameter = pageParameter.split('&');
    $.each(pageParameter, function(i, e){
        parameters[i] = e.split('=');
    });
    $.each(parameters, function(i, e){
        pageParams[e[0]] = e[1];
    });
    return pageParams;
}

Initial URL


Initial Description
Splits the location.search into an object.

Initial Title
SplitPageParameters

Initial Tags


Initial Language
JavaScript