Estoy tratando de crear una página de inicio de sesión. Hice una pantalla de carga que se desvanece cuando se carga la página.
$(window).on("load",function(){ setTimeout(function() { $(".loading").fadeOut("slow", function(){ $(".container").fadeIn("slow").css("display", "flex"); }); }, 500); });El problema está ahí cuando envía un formulario y la página se actualiza porque luego vuelve a aparecer la pantalla de carga. ¿Alguna solución?
Puede evitar que el formulario se envíe con
$("#prospects_form").submit(function(e) { e.preventDefault(); })Sin jQuery:
var form = document.getElementById("myForm"); function handleForm(event) { event.preventDefault(); } form.addEventListener('submit', handleForm);1- Puede usar Ajax para enviar el formulario al servidor.
2- O haz algo como esto:
// add an item to session before form submitting. $(document).on('submit', function (e) { e.preventDefault() sessionStorage.setItem('notLoad', '1') $('form').submit() // add any attr to form idetifier. }) $(window).on('load', function () { // check the session to know if the page loaded from form submitting or not: if (sessionStorage.getItem('notLoad') !== '1') { sessionStorage.removeItem('notLoad'); setTimeout(function () { $('.loading').fadeOut('slow', function () { $('.container').fadeIn('slow').css('display', 'flex') }) }, 500) } })