Pregunta

Estoy usando la extensión modal de Bootstrap Modal y Bootstrap-Modal con un formulario en el interior para hacer alguna función en una página web, y quiero restablecer ese formulario cada vez que cierre el modal, este es el código que estoy usando:

<button class="btn <?php if (isset($_SESSION['useremail']) && $_SESSION['useremail'] == ""){ echo 'btn-default btn-sm btn-block';}else{ echo 'btn-primary btn-sm btn-block';}?>" data-toggle="modal" data-target="#chgpwemail_modal" id="mailmanager" <?php if (isset($_SESSION['useremail']) && $_SESSION['useremail'] == "") echo 'disabled="disabled"';?>><i class="fa fa-envelope fa-fw" ></i>Alterar Senha Email</button>

Después de eso, el modal está despedido y dentro de él tengo un botón de descarga con este código:

 $('#dismiss-chgpwemail').click(function(event) {
     $('#chgpwemail_modal').modal('hide');
    });
    $.clearInput = function () {
      $('form').find('input[type=text], input[type=password], input[type=number],input[type=email], textarea').val('');
    };
    $('#chgpwemail_modal').on('hide.bs.modal', function(e) {


    $.clearInput();

});

Entonces, mi problema está siguiendo la función ClearInput () solo funciona una vez, después de que se use una vez, no funciona.

y no puedo averiguar por qué, ¡ya que después de una recarga completa de la página, vuelve a funcionar!

¿Fue útil?

Solución

Si entiendo lo que está tratando de hacer, puede intentarlo.Cada vez que se cierra un modal, intentará encontrar todas las entradas de forma y áreas de texto y restablecerlas.

$('#modal').on('hidden.bs.modal', function() {
     $('form').find('input').val('');
     $('form').find('textarea').html('');
});

Intenta reformatear mejor el código.Acabo de notar que lo que escribí es lo mismo que tienes;)

Si desea registrar esto o cada uno modal en su HTML, puede hacer esto: en lugar de

$('#modal').on('hidden.bs.modal', function() {

Escriba esto

$('body').on('hidden.bs.modal', '.modal', function () {.....});

Con esto, registrará el evento para cada modal que tenga.No olvides que ".modal" es la referencia para sus modales.Reemplácelo con el tuyo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top