Button Klick für Offcanvas Formular mitgeben

Stack

  • GenerateBlocks Link
  • Kadence Modal Block
  • Fluent Forms

Link href und modal-trigger Standard.
Dem Link ein data-angebot mitgeben und dort den gewünschten String eingeben.

Dann in Fluent Forms im Formular ein Hidden Field einfügen

  • Admin Feld Label: Wie soll es in Mail angezeigt werden?
  • Standardwert: Leer lassen
  • Button Attribute: z.B button_clicked

Der erste Teil bestimmt direkte a Elemente mit data-angebot.

Der zweite Teil ist für classic Menü Einträge gedacht, wobei man auf die Schnelle keine custom attributes beifügen kann. Deshalb der Workaround mit der css Klasse, welche dem li angefügt werden kann.

JavaScript
document.addEventListener('DOMContentLoaded', function() {
    document.querySelectorAll('[data-angebot]').forEach(function(trigger) {
        trigger.addEventListener('click', function() {
            const angebot = this.getAttribute('data-angebot');
            const hiddenField = document.querySelector('input[name="button_clicked"]');
            if (hiddenField) {
                hiddenField.value = angebot;
            }
        });
    });
    
    // .header class in navigation li
    document.querySelectorAll('li.header a').forEach(function(trigger) {
        trigger.addEventListener('click', function() {
            const hiddenField = document.querySelector('input[name="button_clicked"]');
            if (hiddenField) {
                hiddenField.value = 'header';
            }
        });
    });
});