Question

J'utilise l'extension de bootstrap modal et bootstrap-modal avec une forme à l'intérieur pour effectuer une fonction sur une page Web, et je souhaite réinitialiser ce formulaire à chaque fois que je ferme le modal, c'est le code que j'utilise:

<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>

Après cela, le modal est tiré et à l'intérieur, j'ai un bouton de licenciement avec ce code:

 $('#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();

});

Donc, mon problème suit la fonction ClearInput () ne fonctionne qu'une seule fois, après son utilisation une fois, cela ne fonctionne plus.

Et je ne peux pas comprendre pourquoi, puisque après une recharge complète de la page, il fonctionne encore!

Était-ce utile?

La solution

Si je comprends ce que vous essayez de faire, vous pouvez essayer cela.Chaque fois qu'un modal est fermé, vous allez essayer de trouver toutes les entrées de formulaire et les zones de texte et les réinitialiser.

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

Essayez de reformater le code mieux.Je viens de remarquer que ce que j'ai tapé le même que vous avez;)

Si vous souhaitez enregistrer ceci ou chaque modal de votre HTML, vous pouvez le faire: au lieu de

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

Tapez ceci

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

Avec cela, vous allez enregistrer l'événement pour chaque modal que vous avez.N'oubliez pas que ".Modal" est la référence pour vos modules.Remplacez-le par le vôtre.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top