Danke für die Registrierung!
Wir freuen uns auf das Event am 05.11. in Stuttgart.
Fehler bei der Formularübermittlung
Leider konnten wir Deine Anfrage nicht bearbeiten.
Bitte gehe zurück und versuche es erneut.
Bitte gehe zurück und versuche es erneut.
// 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
Danke für die Registrierung!
Wir freuen uns auf das Event am 05.11. in Stuttgart.
Fehler bei der Formularübermittlung
Leider konnten wir Deine Anfrage nicht bearbeiten.
Bitte gehe zurück und versuche es erneut.
Bitte gehe zurück und versuche es erneut.

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?
New Business
Connect with a local advisor in your region.
Press
Our marketing team welcomes your inquiry.
Careers
Questions? Our People & Culture is happy to help.