(function () { const extractElementData = (el) => { const tag = el.tagName.toLowerCase(); if ( tag === "input" && el.name !== "DXScript" && el.name !== "DXMVCEditorsValues" && el.name !== "DXCss" ) { return { type: "input", name: el.name, value: el.type === "checkbox" || el.type === "radio" ? el.checked ? el.value : null : el.value, }; } else if (tag === "select") { const selectedOption = el.querySelector("option:checked"); return { type: "select", name: el.name, value: selectedOption ? selectedOption.value : null, }; } else if (tag.startsWith("h") && el.textContent.trim()) { return { type: "header", tag, content: el.textContent.trim() }; } else if ( ["label", "span", "p", "b", "strong"].includes(tag) && el.textContent.trim() ) { return { type: tag, content: el.textContent.trim() }; } }; const getElementValues = (els) => Array.from(els).map(extractElementData).filter(Boolean); const getIframeInputValues = (iframe) => { try { const iframeDoc = iframe.contentWindow.document; return getElementValues( iframeDoc.querySelectorAll("input, select, header, label, span, p") ); } catch (e) { console.error("Can't access iframe:", e); return []; } }; const inputValues = getElementValues( document.querySelectorAll("input, select, header, label, span, p") ); const iframeInputValues = Array.from(document.querySelectorAll("iframe")).map( getIframeInputValues ); return ` ## input values\n \`\`\`json\n ${JSON.stringify(inputValues)}\n \`\`\`\n ## iframe input values\n \`\`\`json\n ${JSON.stringify(iframeInputValues)}\n \`\`\``; })();