<style> form > div:not([class]) { position: absolute; ...
Prompt
<style> form > div:not([class]) { position: absolute; } </style> <script> document.querySelectorAll('[data-check-group]').forEach(field => { const input = field.querySelector('input[type="checkbox"]'); if (!input) return; input.addEventListener('change', () => { if (!input.checked) return; const group = field.dataset.checkGroup; document.querySelectorAll(`[data-check-group="${group}"]`).forEach(other => { const otherInput = other.querySelector('input[type="checkbox"]'); if (otherInput === input || !otherInput.checked) return; otherInput.checked = false; // Webflow's custom checkbox visual is a separate div; clear its checked class other.querySelector('.w-checkbox-input--inputType-custom') ?.classList.remove('w--redirected-checked'); }); }); }); document.addEventListener('DOMContentLoaded', function () { var form = document.querySelector('#wf-form-Appointment-Form'); if (!form) return; var wForm = form.closest('.w-form'); var errorBlock = wForm.querySelector('.w-form-fail'); var successBlock = wForm.querySelector('.w-form-done'); form.addEventListener('submit', function (e) { e.preventDefault(); e.stopImmediatePropagation(); // Prevent Webflow's error state from showing errorBlock.style.display = 'none'; var name = form.querySelector('[name="name"]').value || ''; var source = form.querySelector('[name="source"]').value || ''; var excludedNames = ['name', 'source']; var data = {}; Array.from(form.elements).forEach(function (el) { if (!el.name || excludedNames.includes(el.name)) return; if (el.disabled) return; if (el.type === 'submit' || el.type === 'button' || el.type === 'reset') return; if (el.type === 'checkbox') { if (el.checked) { data[el.name] = data[el.name] ? data[el.name] + ',Yes' : 'Yes'; } else if (!(el.name in data)) { data[el.name] = 'No'; } return; } if (el.type === 'radio') { if (el.checked) data[el.name] = el.value; return; } if (el.type === 'select-multiple') { data[el.name] = Array.from(el.selectedOptions).map(function (o) { return o.value; }).join(','); return; } data[el.name] = el.value; }); // Create hidden iframe (bypasses CORS) var iframe = document.createElement('iframe'); iframe.name = 'bl-frame-' + Date.now(); iframe.style.display = 'none'; document.body.appendChild(iframe); // Build form targeting the iframe var hiddenForm = document.createElement('form'); hiddenForm.method = 'POST'; hiddenForm.action = 'https://api.blackline-app.com/portal/the-merchant/website/form_response'; hiddenForm.target = iframe.name; hiddenForm.style.display = 'none'; [['name', name], ['source', source]].forEach(function (pair) { var input = document.createElement('input'); input.type = 'hidden'; input.name = pair[0]; input.value = pair[1]; hiddenForm.appendChild(input); }); Object.keys(data).forEach(function (k) { var input = document.createElement('input'); input.type = 'hidden'; input.name = 'data[' + k + ']'; input.value = data[k]; hiddenForm.appendChild(input); }); document.body.appendChild(hiddenForm); hiddenForm.submit(); // Show success after 1s — POST is fire-and-forget setTimeout(function () { successBlock.style.display = 'block'; form.style.display = 'none'; document.body.removeChild(iframe); document.body.removeChild(hiddenForm); }, 1000); }, true); // capture phase ensures this fires before Webflow }); </script>
A system prompt was added to support web rendering