Soy nuevo aqui. ¿Puedes ayudarnos con este problema? Necesito mantener este modal abierto después de actualizar si no se inserta la contraseña. Mientras se actualiza la página, el modal desaparece. Sé que es un problema con las cookies que puse, pero L no puede averiguar cómo hacer que permanezca después de la actualización. Cómo decirle a modal que la contraseña no está insertada, mostrar de nuevo. Por favor ayuda :)
$(function() { $('.lev4o').modal({ closable: false }); let cookie = 0; if (cookie === 0) { $('.lev4o').modal('show'); cookie = 1; } }); $(document).ready(function() { // this prevents page reload on pressing enter $("form").submit(function(event) { event.preventDefault(); }); // click listener $('.fluid').click(function() { if ($('input:password').val() == "pass") { alert('Right Password!'); $(".lev4o").modal('hide'); } else { alert('Wrong Password!'); } }); // respond to enter key $('input:password').keyup(function(event) { if (event.keyCode == 13) { $('.fluid').click(); // trigger click } }); }); <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/semantic.min.js" integrity="sha512-dqw6X88iGgZlTsONxZK9ePmJEFrmHwpuMrsUChjAw1mRUhUITE5QU9pkcSox+ynfLhL15Sv2al5A0LVyDCmtUw==" crossorigin="anonymous" referrerpolicy="no-referrer"></script> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/semantic.min.css" integrity="sha512-8bHTC73gkZ7rZ7vpqUQThUDhqcNFyYi2xgDgPDHc+GXVGHXq+xPjynxIopALmOPqzo9JZj0k6OqqewdGO3EsrQ==" crossorigin="anonymous" referrerpolicy="no-referrer" /> <div class="ui modal lev4o"> <div class="ui middle aligned center aligned grid"> <div class="login-eff"> <div class="column"> <h2 class="ui blue image header"> <div class="content"> Please enter the password ! </div> </h2> <form class="ui form"> <div class="ui segment"> <div class="field"></div> <div class="field"> <div class="ui left icon input"> <i class="lock icon"></i> <input type="password" name="password" placeholder="Password"> </div> </div> <div class="ui fluid large primary submit button">Login</div> </div> </div> </form>Edito el fragmento y cambio la parte de la cookie con una variable. Como puedo ver en su código, configuró una cookie antes de insertar la contraseña, por lo que el modal no se abrirá en la próxima actualización.
Necesitas cambiar este código
if (!$.cookie('pop')) { $('.lev4o').modal('show'); $.cookie('pop', '1'); }a esto:
if (!$.cookie('pop')) { $('.lev4o').modal('show'); }Luego, si coincide con la contraseña, establezca una cookie como:
$('.fluid').click(function() { if ($('input:password').val() == "pass") { alert('Right Password!'); $.cookie('pop', '1'); // set cookie here because password match. next refresh cookie will prevent modal open $(".lev4o").modal('hide'); } else { alert('Wrong Password!'); } });