Impedisci invii duplicati in AEM Adaptive Forms con allegati

Questo articolo descrive come impedire agli utenti di inviare AEM Adaptive Forms più volte disabilitando il pulsante Invia durante l’elaborazione, in particolare quando sono interessati allegati.

Descrizione description

Ambiente

Adobe Experience Manager (AEM) Adaptive Forms (tutte le versioni)

Problema/Sintomi

Gli utenti possono inviare lo stesso modulo adattivo più volte facendo clic ripetutamente sul pulsante Invia, in particolare durante il caricamento dei file allegati o l’elaborazione del modulo. Questo può comportare invii duplicati ed elaborazione involontaria dei dati.

Causa

I componenti di AEM Forms Foundation non forniscono una funzione predefinita che impedisca l’invio di duplicati. I componenti core per Forms adattivo includono una logica incorporata per disabilitare il pulsante Invia durante l’invio, che tuttavia non è disponibile nei componenti di base.

Risoluzione resolution

Segui i passaggi per risolvere il problema:

  1. Identifica il tipo di componente utilizzato nel modulo adattivo:

    • Se utilizzi i componenti di AEM Forms Foundation, procedi al passaggio 2.
    • Se utilizzi i Componenti core di AEM per Forms adattivo, consulta il passaggio 4.
  2. Per i componenti di base (nessuna prevenzione predefinita dell’invio di duplicati):

    • Implementa la personalizzazione lato client per disabilitare il pulsante Invia dopo il primo clic o una volta superata la convalida.
    • Esempio di JavaScript per disattivare il pulsante Invia:
    code language-none
    document.addEventListener('DOMContentLoaded', function() {
        var submitBtn = document.querySelector('button[ type="submit"] ');
        if (submitBtn) {
            submitBtn.addEventListener('click', function(e) {
                // Optionally, add validation check here
                submitBtn.disabled = true;
                // Optionally, show a loading spinner or message
            });
        }
    });
    
    • Eseguire il test completo del modulo, in particolare per i file allegati, per assicurarsi che il pulsante Invia rimanga disattivato fino al completamento dell’elaborazione.
  3. Facoltativamente, implementa la logica di back-end per rilevare e rifiutare gli invii duplicati in base a identificatori univoci o token di sessione.

  4. Per i Componenti core (prevenzione predefinita dell’invio di duplicati):

    • Effettua l’aggiornamento a o utilizza i componenti core di AEM per Forms adattivo, se non già in uso.
    • I Componenti core disattivano automaticamente il pulsante Invia dopo la convalida e durante l’invio, impedendo l’invio di duplicati.
  5. Fornisci sempre il feedback dell’utente (ad esempio, un messaggio o un’estensione di caricamento) durante l’elaborazione del modulo per scoraggiare i clic ripetuti.

  6. Dopo aver implementato la soluzione, verificare il modulo tentando di fare clic più volte su Invia durante il caricamento o l’elaborazione dei file. Il pulsante deve essere disattivato dopo il primo clic e deve essere elaborato un solo invio.

recommendation-more-help
experience-cloud-kcs-help-kbarticles