Pages

Monday, 16 April 2012

Javascript Remove a parameter from the query sring if found in current url

This Javascript function removes the supplied parameter from the query string if it is present in the current url. This is done by converting the query string into an array of parameters and values, then rebuilding the final string to exclude the parameter supplied to the function. The browser is then redirected to the current page with the new query string.
       
function removeParameter(parameter)
{
   //Get Query String from url
   fullQString = window.location.search.substring(1);
   
   paramCount = 0;
   queryStringComplete = "?";

   if(fullQString.length > 0)
   {
       //Split Query String into separate parameters
       paramArray = fullQString.split("&");
       
       //Loop through params, check if parameter exists.  
       for (i=0;i<paramArray.length;i++)
       {
         currentParameter = paramArray[i].split("=");
         if(currentParameter[0] == parameter) //Parameter already exists in current url
         {
            //don't include existing (will be appended to end of url)
         }
         else //Existing unrelated parameter
         {
            if(paramCount > 0)
               queryStringComplete = queryStringComplete + "&";
           
            queryStringComplete = queryStringComplete + paramArray[i];
            paramCount++;
         }
       }
   }
   
   window.location = self.location.protocol + '//' + self.location.host + self.location.pathname + queryStringComplete;
}

       
 

2 comments:

  1. Hi - Can you explain how you would implement this on a page? (SharePoint one!)

    ReplyDelete
    Replies
    1. You can register the script on page by using Page.ClientScript.RegisterClientScriptBlock method.

      Delete

Popular Posts