Actualmente estoy recopilando formularios abandonados de mi sitio web usando el código javascript a continuación dentro del administrador de etiquetas del software de análisis (Piwik pro).
Actualmente funciona muy bien, sin embargo, ahora estoy tratando de hacerlo para que solo se recopilen los correos electrónicos con una '@' y nada más.
Estoy pensando que una declaración if que tenga .includes("@") hará el trabajo, sin embargo, como soy un principiante y no escribí este código, estoy luchando para que funcione. A continuación se muestra lo que he intentado (entre muchos otros intentos) y continúa recopilando todo o no recopila nada...
(Tampoco estoy seguro de si _paq.push se usa fuera del software de análisis que uso, pero esa línea crea un evento personalizado dentro de Piwik pro).
formFields = ['input_3_1','input_3_2','input_3_3','input_3_4'] let formFieldText = document.getElementById('input_3_1').value let fieldHasAtSymbol = formFieldText.includes("@") if (fieldHasAtSymbol = 'true') { function trackUnsubmittedField(fieldId){ let formField = document.getElementById(fieldId) if(formField.nodeName==="SELECT"){ formField.addEventListener('change',()=>{ _paq.push(['trackEvent','formAbandonment',fieldId,document.getElementById(fieldId).value]) }) } else{ formField.addEventListener('focusout',()=>{ _paq.push(['trackEvent','formAbandonment',fieldId,document.getElementById(fieldId).value]) }) } } } formFields.map(element=>trackUnsubmittedField(element)) También intenté usar la misma variable de campo de formulario que se declara dentro de la función colocando una .includes() if dentro de ella, pero no tuve suerte.
formFields = ['input_3_1','input_3_2','input_3_3','input_3_4'] function trackUnsubmittedField(fieldId){ let formField = document.getElementById(fieldId) if (formField.includes("@") = "true") { if(formField.nodeName==="SELECT"){ formField.addEventListener('change',()=>{ _paq.push(['trackEvent','formAbandonment',fieldId,document.getElementById(fieldId).value]) }) } else{ formField.addEventListener('focusout',()=>{ _paq.push(['trackEvent','formAbandonment',fieldId,document.getElementById(fieldId).value]) }) } } formFields.map(element=>trackUnsubmittedField(element))Probablemente haya muchos errores con el código que agregué a esto, pero agradecería cualquier ayuda.