我正在使用bootstrap模态和bootstrap-mocal扩展,内部的表单在网页上做一些函数,我想每次关闭模态时重置该表单,这是我正在使用的代码:

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

之后,将模态被触发,而在它内部我有一个拆除这个代码的按钮:

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

});
. 所以我的问题是遵循ClearInput()函数只有一次函数,在它使用之后它不再起作用。

我无法弄清楚为什么,因为完成了完整的页面重新加载后,它再次工作!

有帮助吗?

解决方案

如果我明白你想要什么你可以尝试这个。每次何时关闭模态,您都会尝试找到每个表单输入和文本区域并重置它们。

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

尝试更好地重新格式化代码。我刚注意到我打字的那样是什么;)

如果您想在HTML中注册此或每个模态,您可以执行此操作:而不是

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

键入此

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

使用您,您将为您拥有的每个模态注册活动。不要忘记“.modal”是您的模数的参考。用你的东西替换它。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top