Javascript – why is the window.dialogArguments undefined

By | October 22, 2023

I need to open up a .aspx page in a modal dialog. Here is the JS code I use to open the dialog:

        if (url) {
            var fullPath = url + "/Validation.aspx";
        }
        else {
            alert("Could not find the location of the merge dialog.  Please contact your System admin and have them update the configuration entity.");
            return;
        }

        var features = "unadorned:yes;scroll:yes;resizable:yes;status:yes;dialogHeight:480px;dialogWidth:480px;";

        var args = {
            selected: selectedIds,
            page: pageIds,
            fetchXml: xml,
            entity: "xyz"
        };

        window.showModalDialog(fullPath, args, features);

In my validation.aspx page I need to be able to grab the JS arguments, assign them to hidden fields, then repost, so I can use those arg values server side.

here is my JS code in my .aspx page:

window.onload = function(){        
    if (!window.dialogArguments)
        return;

        var args = window.dialogArguments;
        ...
}

I have seen tons of examples of this working throughout the web. But…My window.dialogArguments is always undefined in my .aspx page. What gives? anyone have any thoughts or solutions?

Best Solution

My assumption here is that the ASPX dialog page is being opened cross-domain.

This would mean that your parent page is in one domain aka: http://abc/page.html, and that your child dialog page is in another domain like: http://def/dialog.html.

If this is the case, it seems as though there are restrictions against accessing dialogArguments and returnValue. Check out the comments on this previous answer for example.

Category: Uncategorized