How to get the url parameter values in Salesforce Custom Button using JavaScript?
its possible to using the pure Javascript itself:
Generic Method:
function getParameterByName(name, url) { if (!url) { url = window.location.href; } name = name.replace(/[\[\]]/g, "\\$&"); var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), results = regex.exec(url); if (!results) return null; if (!results[2]) return ''; return decodeURIComponent(results[2].replace(/\+/g, " ")); }
How to page the value in the above method of getParameterByName:
// query string: ?foo=lorem&bar=&baz var foo = getParameterByName('foo'); // "lorem" var bar = getParameterByName('bar'); // "" (present with empty value) var baz = getParameterByName('baz'); // "" (present with no value) var qux = getParameterByName('qux'); // null (absent)
Note: If a parameter is present several times (?foo=lorem&foo=ipsum), you will get the first value (lorem).
Same code, we can use it in the Salesforce Custom button like below:
{!REQUIRESCRIPT(“/soap/ajax/25.0/connection.js”)}
function getParameterByName(name, url) {
if (!url) {
url = window.location.href;
}
name = name.replace(/[\[\]]/g, “\\$&”);
var regex = new RegExp(“[?&]” + name + “(=([^&#]*)|&|#|$)”),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return ”;
return decodeURIComponent(results[2].replace(/\+/g, ” “));
}
var foo = getParameterByName(‘sid’);
alert(foo);
window.location = “apex/ProductsDepedencyList?Id=foo “;