Open HTML Web Resource in PopUp with parameters
Views (2553)
Call a JS function like this
function showEDMSDocuments()
{
var clientUrl = Xrm.Page.context.getClientUrl();
var url = clientUrl + '/WebResources/bcrm_LOA_Customer_EDMS_Documents';
var w = 810, h = 550;
//var left = (screen.width) ? (screen.width - w) / 2 : 0;
//var top = (screen.height) ? (screen.height - h) / 2 : 0;
var top = 100;
var left = 300;
var ordernumber_value = '';
var ordernumber = Xrm.Page.getAttribute("ordernumber");
if (ordernumber != null && ordernumber != undefined)
{
ordernumber_value = ordernumber.getValue();
var params = "ordernumber=" + ordernumber_value;
url = url + "?data=" + encodeURIComponent(params);
}
closepopup = window.open(url, "Dialog", "status=0,toolbar=0,scrollbars=0, resizable=1,width=" + w + ",height=" + h + ",left=" + left + ",top=" + top);
}
In HTML Web Resource, parse parameters as done in following JS code
var isOpenedFromRibbonButton = false;
function parseDataValue(datavalue) {
if (datavalue != "") {
debugger;
var vals = new Array();
vals = decodeURIComponent(datavalue).split("&");
for (var i in vals) {
vals[i] = vals[i].replace(/\+/g, " ").split("=");
if(vals[i][0] == 'ordernumber')
{
$('#orderID').val(vals[i][1]);
isOpenedFromRibbonButton = true;
break;
}
}
}
}
function getDataParam() {
//Get the any query string parameters and load them
//into the vals array
debugger;
var vals = new Array();
if (location.search != "") {
vals = location.search.substr(1).split("&");
for (var i in vals) {
vals[i] = vals[i].replace(/\+/g, " ").split("=");
}
//look for the parameter named 'data'
var found = false;
for (var i in vals) {
if (vals[i][0].toLowerCase() == "data") {
parseDataValue(vals[i][1]);
found = true;
break;
}
}
if (!found)
{ noParams(); }
}
else {
noParams();
}
}
References:
This was originally posted here.

Like
Report
*This post is locked for comments