$(()=>{ $("#c").click(function loop(event){ $("#a").show(1000).submit(function(event){ if ($("#b").val() === "hello"){ $("#a").hide(1000); } else{ alert($("#b").val() + " was typed!"); } }); }); }); #a{ display: none; } <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <form id="a"> name : <input type="name" id="b" value="type 'hello' to hide!"></form> <button id="c">do it!</button> En el fragmento anterior, no quiero que el cuadro de entrada desaparezca de la pantalla cuando se escribe algo que no sea hola . Debería mostrar el mensaje $("#b").val() + " was typed!" pero no debe esconderse.
Espero que esto ayude.
En realidad, no estaba oculto, sino que se eliminó el propio DOM.
$(()=>{ $("#c").click(function loop(event){ $("#a").show(1000).submit(function(event){ event.preventDefault(); if ($("#b").val() === "hello"){ $("#a").hide(1000); } else{ alert($("#b").val() + " was typed!"); } }); }); }); #a{ display: none; } <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <form id="a"> name : <input type="name" id="b" value="type 'hello' to hide!"></form> <button id="c">do it!</button>