HOW TO
ArcGIS Survey123 forms can be embedded in websites using an <iframe> HTML element. The ArcGIS Survey123 Web App can generate <iframe> HTML for any publicly shared survey under the survey’s Collaborate tab (Survey > Share survey > Share this survey > Embed). The generated <iframe> element can then be copy/pasted into a website’s HTML.
It may be useful to observe how a Survey123 form appears or behaves when embedded in a website using an <iframe> element. However, a test HTML file including a Survey123 generated <iframe> does not load as a file in your web browser. Instead, it must be served via HTTP. See Mozilla’s documentation on opening HTML files locally for more information.
Test HTML files with Survey123 generated <iframe> elements can be served to yourself using Python's http.server module, assuming Python is installed, and Windows' IIS Web Management Tools and World Wide Web Services are enabled.
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Survey123 iframe test</title>
    </head>
    <body>
    </body>
</html>
Note: Saving this file in a new folder makes the next steps easier.
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Survey123 iframe test</title>
        <style>
            .embed-container {
                position: relative;
                height: 0;
                padding-bottom: 80%;
                max-width: 100%;
            }
        
            .embed-container iframe,
            .embed-container object,
            .embed-container iframe {
                position: absolute;
                top: 0;
                left: 0;
                width: 100%;
                height: 100%;
            }
        
            small {
                position: absolute;
                z-index: 40;
                bottom: 0;
                margin-bottom: -15px;
            }
        </style>
    </head>
    <body>
        <div class="embed-container">
            <iframe name="survey123webform" width="500" height="400" frameborder="0" marginheight="0"
                marginwidth="0" title="Bug Map Zoom Level" src="//survey123.arcgis.com/share/ae9c15b587494647b5186d69e81d042f"
                allow="geolocation https://survey123.arcgis.com; camera https://survey123.arcgis.com">
            </iframe>
        </div>
        <script>var survey123webform = document.getElementsByName('survey123webform')[0]; window.addEventListener("message", e => { if (e.data) { var t = JSON.parse(e.data); "survey123:onFormLoaded" === t.event && t.contentHeight && (survey123webform.parentNode.style.height = t.contentHeight + "px") && (survey123webform.parentNode.style["padding-bottom"] = "unset") } });</script>
    </body>
</html>
Article ID: 000026171
Get help from ArcGIS experts
Start chatting now