web
You’re offline. This is a read only version of the page.
close
Skip to main content
Community site session details

Community site session details

Session Id :

Open HTML Web Resource in PopUp with parameters

Spring Wave 2016 Profile Picture Spring Wave 2016 325

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:

https://msdn.microsoft.com/en-us/library/gg327945.aspx


This was originally posted here.

Comments

*This post is locked for comments