Pergunta

Eu estou usando o Bootstrap modal e bootstrap-modal, com uma extensão de formulário para dentro para fazer alguma função em uma página da web, e eu gostaria de redefinir a forma toda vez que eu fechar modal, este é o código que estou 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>

Depois que o modal é acionado e dentro dele eu tenho um botão "dispensar" com 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();

});

Então, meu problema é o seguinte clearInput() função só funciona uma vez, depois de usado uma vez ele não funciona mais.

E eu não consigo descobrir por que, desde que, após uma completa recarregar a página funciona novamente!

Foi útil?

Solução

Se eu entendo o que você está tentando fazer, você pode tentar isso.Cada vez que um modal é fechado, você vai tentar encontrar todas as entradas e áreas de texto e redefini-los.

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

Tente reformatar o código melhor.Só eu que notei que o que eu digitei é a mesma que você tem ;)

Se você deseja registrar este, ou a cada modal no seu HTML, você pode fazer isso:Em vez de

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

Este tipo de

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

Com isso, você vai registrar o evento para cada modal que você tem.Não se esqueça de que ".modal" é a referência para os seus modais.Substitua-o com o seu.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top