Registriere Dich für unser AI in Action Event

* Pflichtfelder

Mit der Eingabe eine:r Kolleg:in bestätigst Du, dass Du die Zustimmung dieser Person zur Weitergabe ihrer Daten an uns hast.

Registriere Dich für unser AI in Action Event

* Pflichtfelder

Mit der Eingabe eine:r Kolleg:in bestätigst Du, dass Du die Zustimmung dieser Person zur Weitergabe ihrer Daten an uns hast.

// Logic for submitting forms via Campaign Monitor and Salesforce Engagement var onloadCallback = function() { grecaptcha.render('recaptcha', { 'sitekey' : '6LdxtBQrAAAAAHX5mn3H1ltrB-WjW2U5rMLbVcWR' }); }; (function (global) { if (global.App) return; var App = {}; var registry = {}; var cache = {}; App.register = function (name, factory) { if (registry[name]) { throw new Error('Module already registered: ' + name); } registry[name] = factory; }; App.use = function (name) { if (cache[name]) return cache[name]; if (!registry[name]) { throw new Error('Module not registered: ' + name); } var module = registry[name](App); cache[name] = module || {}; return cache[name]; }; global.App = App; })(window); (function (App) { App.register("Constants", function () { return { EMEA_COUNTRIES: [ 'Austria', 'Belgium', 'Bulgaria', 'Croatia', 'Cyprus', 'Czech Republic', 'Denmark', 'Estonia', 'Finland', 'France', 'Germany', 'Greece', 'Hungary', 'Ireland', 'Italy', 'Latvia', 'Lithuania', 'Luxembourg', 'Malta', 'Netherlands', 'Poland', 'Portugal', 'Romania', 'Slovakia', 'Slovenia', 'Spain', 'Sweden', 'Switzerland', 'United Kingdom' ], }; }); App.register('Form', function () { function updateFormState(formElement) { checkCustomInputs(formElement); syncNativeAndCustomCheckboxes(formElement); toggleCheckboxErrorMessageVisibilityOnClick(formElement); updatePrivacyLinkOnCountrySelect(formElement); toggleAccompanyingPersonBlockVisibility(formElement); const checkCustomInputs = (formElement) => { const checkboxDefault = formElement.querySelectorAll('input[type=checkbox]'); checkboxDefault.forEach(el => { el.addEventListener('click', function () { console.log(el, el.checked); checkCustomInput(el); }); }) const checkCustomInput = (checkboxDefault) => { const siblings = Array.from(checkboxDefault.parentNode.children); const checkboxCustom = siblings.find(sibling => sibling !== checkboxDefault && sibling.classList.contains('w-checkbox-input--inputType-custom') ); if (checkboxCustom) { if (!checkboxCustom.classList.contains('is-checked')) { checkboxCustom.classList.add('is-checked'); checkboxDefault.checked = true; } else { checkboxCustom.classList.remove('is-checked'); checkboxDefault.checked = false; } } } } const syncNativeAndCustomCheckboxes = (formElement) => { formElement.querySelectorAll('.wd-checkbox-wrapper').forEach(wrapper => { const checkboxNative = wrapper.querySelector('input[type="checkbox"]'); const checkboxCustom = wrapper.querySelector('.w-checkbox-input--inputType-custom'); if (!checkboxNative || !checkboxCustom) return; // sync initial state checkboxCustom.classList.toggle('is-checked', checkboxNative.checked); // sync custom and native checkboxes on click checkboxCustom.addEventListener('click', (e) => { e.preventDefault(); checkboxNative.click(); checkboxCustom.classList.toggle('is-checked', checkboxNative.checked); }); }); } const toggleCheckboxErrorMessageVisibilityOnClick = (formElement) => { formElement.querySelectorAll('input[type="checkbox"][wr-type="required-field"]').forEach(field => { field.addEventListener('change', function () { if (field.checked) { const fieldContainer = field.closest('.wd-form__field'); const errorMsg = fieldContainer.querySelector('[wr-type="error"]'); const checkboxWrapper = fieldContainer.querySelector('.wd-checkbox-wrapper'); if (errorMsg) errorMsg.style.display = 'none'; if (checkboxWrapper) checkboxWrapper.classList.remove('error'); } }); }); } const updatePrivacyLinkOnCountrySelect = (formElement) => { const countrySelect = formElement.querySelector('select[name="cm-fo-dtvdjt"]'); if (!countrySelect) return; const Constants = App.use("Constants"); const emeaCountries = fetch(Constants.EMEA_COUNTRIES); function updatePrivacyLink(countrySelect) { const privacyLink = document.getElementById('privacy-link'); if (!privacyLink) return; const selectedOption = countrySelect.options[countrySelect.selectedIndex]; const countryLabel = selectedOption?.text || ''; const isEmea = emeaCountries.includes(countryLabel); privacyLink.setAttribute( 'href', isEmea ? '/de-privacy' : '/us-eu-website-privacy' ); } // Run on change and once on load countrySelect.addEventListener('change', function() { updatePrivacyLink(countrySelect); }); updatePrivacyLink(countrySelect); } const toggleAccompanyingPersonBlockVisibility = (formElement) => { const checkboxAccompanyingPerson = formElement.querySelector('input[data-name="ap"]'); const accompanyingPersonDataBlock = formElement.querySelector('.js-accompanying-person'); const inputsAccompanyingPerson = accompanyingPersonDataBlock.querySelectorAll('input'); const inner = accompanyingPersonDataBlock.querySelector('.wd-accompanying-person__inner'); if ( checkboxAccompanyingPerson && accompanyingPersonDataBlock && inner ) { checkboxAccompanyingPerson.addEventListener('click', function () { if ( !accompanyingPersonDataBlock.classList.contains('is-visible') ) { accompanyingPersonDataBlock.classList.add('is-visible'); accompanyingPersonDataBlock.style.height = inner.scrollHeight + 'px'; inputsAccompanyingPerson.forEach(input => { input.tabIndex = 0; }); } else { accompanyingPersonDataBlock.classList.remove('is-visible'); accompanyingPersonDataBlock.style.height = '0px'; inputsAccompanyingPerson.forEach(input => { input.tabIndex = -1; }); } }); } } } function validateForm(formElement) { let formErrors = false; // Validate required fields formElement.querySelectorAll('[wr-type="required-field"]').forEach(field => { const type = field.getAttribute('type'); const fieldWrapper = field.closest('.wd-form__field, .wd-form-field'); const errorEl = fieldWrapper.querySelector('[wr-type="error"]'); if (type === 'checkbox' && !field.checked) { errorEl.style.display = 'block'; fieldWrapper.querySelector('.wd-checkbox-wrapper')?.classList.add('error'); formErrors = true; } else if (type === 'email') { const val = field.value.trim(); if (!val.includes('@') || !val.includes('.')) { errorEl.style.display = 'block'; field.classList.add('error'); formErrors = true; } else { errorEl.style.display = 'none'; field.classList.remove('error'); } } else if (field.value.trim() === '') { errorEl.style.display = 'block'; field.classList.add('error'); formErrors = true; } else { errorEl.style.display = 'none'; field.classList.remove('error'); } }); const recaptchaResponse = formElement.querySelector('#g-recaptcha-response'); const recaptchaContainer = formElement.querySelector('#recaptcha'); //const recaptchaWrapper = recaptchaContainer?.parentElement; if (!recaptchaResponse || !recaptchaResponse.value.trim()) { formErrors = true; // Show error if not already there if (recaptchaContainer && !recaptchaContainer.querySelector('.wd-form-field-error')) { const errorMessage = document.createElement('div'); errorMessage.textContent = "Bitte vervollständige das reCAPTCHA."; errorMessage.className = 'wd-form__field-error'; recaptchaContainer.insertBefore(errorMessage, recaptchaContainer.firstChild); } } else { // Clear reCAPTCHA error if it's valid const existingError = recaptchaContainer.querySelector('.wd-form-field-error'); if (existingError) existingError.remove(); } return formErrors; } function submitForm (formElement) { const cmDataId = 'A61C50BEC994754B1D79C5819EC1255C1618E70E66DA5A2EB1FB3B5816D73843BE05AB95FFE24AAFB4C1B0DF54B954F605005BDCBB2B62BACF270115D20A030A'; const seActionUrl = 'https://go.pardot.com/l/908982/2025-07-28/ck47q'; async function setFormActionBasedOnCountry() { const selectedOption = countrySelect.options[countrySelect.selectedIndex]; const countryLabel = selectedOption.text; const Constants = App.use("Constants"); const emeaCountries = await fetch(Constants.EMEA_COUNTRIES).then(res => res.json()); const isEmea = emeaCountries.includes(countryLabel); const privacyLink = document.getElementById('privacy-link'); if (isEmea) { // Overwrite the selected value with the label (only for Pardot) selectedOption.setAttribute("value", countryLabel); formElement.action = pardotActionUrl; formElement.removeAttribute('data-id'); console.log('Submitting to Pardot'); return true; } else { const email = emailInput?.value?.trim(); if (!email || !campaignMonitorDataId) { console.error('Missing email or data-id for Campaign Monitor'); return false; } const payload = new URLSearchParams({ email, data: campaignMonitorDataId }); // For testing const form = document.querySelector('#newsletterForm'); const formData = { country: form.querySelector('#fielddtvdjt').value }; try { const response = await fetch('https://createsend.com/t/getsecuresubscribelink', { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, body: payload }); if (response.ok) { const secureUrl = await response.text(); formElement.action = secureUrl; formElement.setAttribute('data-id', campaignMonitorDataId); return true; } else { console.error('Failed to fetch secure Campaign Monitor URL',); return false; } } catch (err) { console.error('Error during secure CM link fetch', err); return false; } } } } function submitFormToCampaignMonitor(value) { return new Date(value).toLocaleDateString(); } function submitFormToSalesforceEngagement(str) { const submitButton = formElement.querySelector('button[type="submit"]'); const customSubmitBtn = document.getElementById('submit-btn'); // Overwrite the selected value with the label (only for Salesforce Engagement) async function overwriteCountryValue(formElement) { const countrySelect = formElement.querySelector('select[name="country"]'); if (!countrySelect) return true; const selectedOption = countrySelect.options[countrySelect.selectedIndex]; const countryLabel = selectedOption.text; selectedOption.setAttribute("value", countryLabel); return true; } customSubmitBtn.addEventListener('click', async function (e) { e.preventDefault(); const formErrors = window.App.Form.validateForm(); if (formErrors) return; const isReady = await overwriteCountryValue(); if (isReady) { submitButton.click(); } else { console.error('Form action was not set correctly. Aborting submit.'); } }); } function renderPageSubmissionState() { const urlParams = new URLSearchParams(window.location.search); const submittedParam = urlParams.get('status'); let displayedContent; const customSubmitBtn = document.querySelector('.wd-js-custom-submit-btn'); const form = document.querySelector('.wd-form--event'); const formSuccessMessage = document.getElementById('form-success'); const subscriptionConfirmedMessage = document.getElementById('form-confirmed'); const errorMessage = document.getElementById('form-error'); if (submittedParam !== undefined && submittedParam === 'submitted') { form.classList.add('is-hidden'); customSubmitBtn.classList.add('is-hidden'); formSuccessMessage.classList.remove('is-hidden'); document.body.classList.add('submitted'); } if (submittedParam !== undefined && submittedParam === 'confirmed') { form.classList.add('is-hidden'); customSubmitBtn.classList.add('is-hidden'); subscriptionConfirmedMessage.classList.remove('is-hidden'); document.body.classList.add('submitted'); } if (submittedParam !== undefined && submittedParam === 'error') { form.classList.add('is-hidden'); errorMessage.classList.remove('is-hidden'); customSubmitBtn.classList.add('is-hidden'); } } return { submitFormToCampaignMonitor: submitFormToCampaignMonitor, submitFormToSalesforceEngagement: submitFormToSalesforceEngagement, renderPageSubmissionState: renderPageSubmissionState, validateForm: validateForm, }; }); })(window.App); document.addEventListener('DOMContentLoaded', function() { const formEl = document.querySelector('wd-form'); window.App.Form.renderPageSubmissionState(); window.App.Form.submitFormToCampaignMonitor(); window.App.Form.submitFormToSalesforceEngagement(); window.App.Form.updateFormState(formEl); }); document.addEventListener('DOMContentLoaded', function () { const formElement = document.querySelector('wd-form'); const emailInput = formElement.querySelector('input[type="email"]'); const submitButton = formElement.querySelector('button[type="submit"]'); const customSubmitBtn = document.getElementById('submit-btn'); // is located outside the
element const checkboxDefault = formElement.querySelectorAll('input[type=checkbox]'); } );
2. Edition

AI in Action

Voice first: Das Interface des KI-Zeitalters

05.11.2025

Join the conversation. Shape what’s next:

17:30 Uhr ● Delphi Arthaus Kino, Tübinger Strasse 6, Stuttgart

19:00 Uhr ● Galerie Kernweine, Cottastrasse 4–6, Stuttgart

Ready to start a conversation?