Tengo un botón de enviar y un JavaScript. Al hacer clic, el botón cambia el estado de activo a inactivo y se muestra una animación giratoria. Quiero agregar al script una función de tiempo de espera . El botón detendrá la animación y volverá al estado activo después de 3000 ms y volverá a mostrar el botón de envío normal. Aquí está mi código:
<button type="submit" class="btn btn-primary btn-lg" value="submit" id="ajax-form-button">Submit</button> $(document).ready(function() { $("#ajax-form").submit(function(e) { // disable button $('#ajax-form-button').prop("disabled", true); // add spinner to button $('#ajax-form-button').html( `<i class="spinner-border spinner-border-sm mb-1"></i> Bitte warten...` ); }); });window.setTimeout() es lo que está buscando.
$(document).ready(function() { $("#ajax-form").submit(function(e) { // disable button $('#ajax-form-button').prop("disabled", true); // add spinner to button $('#ajax-form-button').html( `<i class="spinner-border spinner-border-sm mb-1"></i> Bitte warten...` ); window.setTimeout(() => { $('#ajax-form-button').prop("disabled", false); //re-enable button $('#ajax-form-button').html("Submit"); // oder "Absenden" }, 3000) // run that function after 3 s }); });