Problema: Estoy haciendo un formulario para ser llenado por el usuario. Una vez que el usuario haga clic en enviar, si hay un error en el formulario, se mostrará una alerta. Sin embargo, cuando el usuario hace clic en "Aceptar", el formulario restablecerá todos los campos que se han completado, por lo que el usuario debe repetir para completar el formulario nuevamente.
Pregunta: ¿Cómo solucionar esto para que cuando el usuario haga clic en "Aceptar" los datos sigan ahí?
Para evitar que la página se vuelva a cargar, agregue return false; después de la declaración de alerta, detiene la acción predeterminada desde el envío del formulario.
alert("Please fill in all mandatory fields"); return false;Debe restablecer el formulario:
document.getElementById("formId").reset();El elemento <button> , cuando se coloca en un formulario, enviará el formulario automáticamente a menos que se especifique lo contrario. Puedes usar las siguientes 2 estrategias:
<button type="button"> para anular el comportamiento de envío predeterminado. var form = document.getElementById("myForm"); function handleForm(event) { event.preventDefault(); } form.addEventListener('onSubmit', handleForm);