Jquery read query string

I'm having trouble reading a query string using jQuery. What I want to do is read the query string and, depending on what it says, scroll to a specific place or element.

here is my code

$(document).ready(function () { var name = getQueryParam("id") { var pairs = location.search.substring(1).split('&'); for (var i = 0; i < pairs.length; i++) { var params = pairs[i].split('='); if (params[0] == param) { return params[1] || ''; } } return undefined; }; })(jQuery); if ( name == 1){ scrollTo(0, 800); } }); 
+4
jquery
Dec 28 '10 at 6:41
source share
2 answers

You can use this function to get the query string value:

 function getParameterByName( name ) { name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"); var regexS = "[\\?&]"+name+"=([^&#]*)"; var regex = new RegExp( regexS ); var results = regex.exec( window.location.href ); if( results == null ) return ""; else return decodeURIComponent(results[1].replace(/\+/g, " ")); } 

Example:

 var param = getParameterByName('yourVar'); 
+25
Dec 28 '10 at 18:44
source share
— -

A bit simpler for this: (source: http://jquerybyexample.blogspot.com/2012/05/how-to-get-querystring-value-using.html )

 function GetQueryStringParams(sParam) { var sPageURL = window.location.search.substring(1); var sURLVariables = sPageURL.split('&'); for (var i = 0; i < sURLVariables.length; i++) { var sParameterName = sURLVariables[i].split('='); if (sParameterName[0] == sParam) { return sParameterName[1]; } } } 
+3
Dec 03
source share



All Articles