Info modulo 
Autore: Gruppo Antares Srl
Visite 77,
Followers 2,
Condiviso 0
Buonasera a tutti,
volevo un aiuto. Ho creato un Form, per invio dati. Spesso, mi dicono di averlo compilato ma a me non arriva sulla mail. In effetti ho provato Io stesso e non è arrivato.
Quello che però stamattina ho notato, che avevo inserito i dati automatici che crome mi rilasciava , quelli di compilazione automatica.
Ma cè una funzione o codice, che può in caso bay passare questo aspetto, perchè altrimenti dovrei creare un messaggio che avvisi prima dellacompilazione..
Grazie
Alessandro
Postato il

Questo potrebbe succedere se l’utente usa l’Autofill di Chrome, il browser può riempire i campi del form solo visivamente, senza attivare gli eventi change o input.
Molti script o plugin però si basano proprio su questi eventi per validare o inviare il form.
Cosa succede quindi?
Il form sembra compilato, ma in realtà il tuo script non “vede” i dati: la validazione non parte e l’invio del form può non funzionare.
Autore
Ok....
Ed è superabile?
SOLUZIONE 1 — aggiungere campi nascosti
Chrome riempie l’autofill ma il form non “vede” i dati.
La soluzione consigliata è:
➤ Aggiungere un campo nascosto sopra i campi principali
Chrome tende a compilare i primi campi del form.
Se tu metti un campo nascosto in cima, Chrome lo usa per l’autofill… e lascia in pace i campi veri.
Come si fa in Website X5:
Apri il progetto
Vai alla pagina del Form Contatti
Aggiungi un nuovo campo → Campo Testo
Nelle opzioni:
Nome: es. anti-autofill
Etichetta: lascia vuoto
Spunta "campo obbligatorio: NO"
Nello stile: “Nascondi campo” oppure metti display:none da impostazioni di stile
Chrome userà questo campo, non gli altri → il form non si rompe più.
naturalmente è da provare.
Ciao.
SOLUZIONE 2 — Aggiungere uno script
Vai in:
Proprietà pagina → Esperto → Dopo il tag <body>
Incolla:
<script>
document.addEventListener('DOMContentLoaded', function() {
setTimeout(function() {
document.querySelectorAll('input, textarea').forEach(function(field) {
if (field.value !== '') {
field.dispatchEvent(new Event('input', { bubbles: true }));
field.dispatchEvent(new Event('change', { bubbles: true }));
}
});
}, 600);
});
</script>
Questo “risveglia” il form e dovrebbe forzare Website X5 a riconoscere i dati (da testare anche questo).
Autore
Grazie