Bitte beachte, dass sich diese Dokumentation auf die neuste Version dieser Erweiterung bezieht. Wenn eine ältere Version eingesetzt wird, kann diese abweichen. Die jeweils passende Dokumentation befindet sich im Dokumentation-Verzeichnis der Erweiterung.
JavaScript Funktionalität überschreiben
Sollte der Fall auftreten, dass ein Abschnitt des JavaScripts angepasst werden muss, so kann die entsprechende Methode wie folgt überschrieben werden:
DoubleOptinDownload.showLoadingInfo = function (formUid) {
document.querySelectorAll(`#download-form-${formUid} input`).forEach(el => el.disabled = true);
document.querySelectorAll(`#download-form-${formUid} button`).forEach(el => el.disabled = true);
};
DoubleOptinDownload.hideLoadingInfo = function () {
document.querySelectorAll('.tx-double-optin-download input').forEach(el => el.disabled = false);
document.querySelectorAll('.tx-double-optin-download button').forEach(el => el.disabled = false);
};
DoubleOptinDownload.refreshFormFeedback = function (response) {
Object.keys(response.form).forEach(key => {
const field = document.getElementById(`download-${key}-${response.uid}`);
if (!field) return;
const wrapper = field.closest('.form-group');
const feedback = wrapper && wrapper.querySelector('.invalid-feedback');
field.classList.remove('is-invalid', 'is-valid');
if (response.form[key].isValid) {
if (feedback) feedback.innerHTML = '';
field.classList.add('is-valid');
} else {
if (feedback) feedback.innerHTML = response.form[key].error;
field.classList.add('is-invalid');
}
});
};
DoubleOptinDownload.clearForm = function (response) {
Object.keys(response.form).forEach(function(key) {
const field = document.getElementById(`download-${key}-${response.uid}`);
if (!field) {
return;
}
const type = field.type;
const node = field.nodeName;
if (type === 'text' || type === 'tel' || type === 'email') {
field.value = '';
field.classList.remove('is-valid');
}
else if (type === 'checkbox') {
field.checked = false;
field.classList.remove('is-valid');
}
else if (node === 'SELECT') {
field.selectedIndex = 0;
field.classList.remove('is-valid');
}
});
};