Recibo un error en mi antiguo formulario HTML al enviar la declaración de devolución. Estaba funcionando perfectamente bien antes, pero recientemente la misma declaración muestra un error. Adjunto la captura de pantalla del error de declaración de devolución del formulario HTML
<form action="index.html" onsubmit = 'return validate();'>
Intenté eliminar 'devolver' pero el formulario se envía incluso si la función de validación devuelve falso.
Luego agregué preventDefault(), pero ahora el formulario no se envía ni se redirige, incluso si la función de validación devuelve verdadero. <form action="index.html" onsubmit = ' preventDefault() validate();'>
codigo js
function validate() { if (em.value.trim() == "" || pas.value.trim() == "") { alert("Fields not filled"); em.style.border = "2px solid red"; pas.style.border = "2px solid red"; return false; } else if (regexp.test(em.value)) { er.innerHTML = "VALID!"; er.style.color = "green"; return true; } else { er.innerHTML = "INVALID E-MAIL!!"; //!Alert this is important line er.style.color = "red"; em.style.border = "2px solid red"; return false; } }Si te entiendo bien, te refieres a un truco para usar return false; para evitar que se envíe un formulario. Ver aquí y aquí .
A partir del 16 de febrero, parece que vscode ha estado arrojando un error al return false; . Sin embargo, el código aún funciona, incluso si vscode dice que hay un error. Por lo tanto, podría ser mejor simplemente ignorar el mensaje de error de vscode.
Hay un problema de github actualmente abierto en vscode que menciona el nuevo cambio de comportamiento. El problema de github también tiene una guía sobre cómo deshabilitar errores con vscode. Específicamente, seguí el comentario de tjx666 para deshabilitar los garabatos de error.
Simplemente elimine el retorno , por ejemplo: onsubmit="verif();" en su caso: onsubmit = 'validate();'