Booknetic HTML Autocomplete JS

JavaScript
document.addEventListener('DOMContentLoaded', function () {
    // Define the autocomplete fields
    const fields = [
        { selector: '#bkntc_input_email', autocomplete: 'email' },
        { selector: '#bkntc_input_phone', autocomplete: 'tel' },
        { selector: '#bkntc_input_name', autocomplete: 'family-name' },
        { selector: '#bkntc_input_surname', autocomplete: 'given-name' }
    ];

    // Function to add autocomplete attributes to fields
    function applyAutocomplete() {
        fields.forEach(field => {
            const element = document.querySelector(field.selector);
            if (element) {
                element.setAttribute('autocomplete', field.autocomplete);
            }
        });
    }

    // Apply autocomplete initially
    applyAutocomplete();

    // Observe for changes in the DOM
    const observer = new MutationObserver(() => {
        applyAutocomplete();
    });

    // Configure observer to monitor the form wrapper
    const formWrapper = document.querySelector('.booknetic_need_copy');
    if (formWrapper) {
        observer.observe(formWrapper, {
            childList: true, 
            subtree: true    
        });
    }
});