Bootstrap Modal仅重置一次

时间:2014-02-27 15:33:07

标签: jquery twitter-bootstrap modal-dialog bootstrap-modal

我正在使用Bootstrap模式和bootstrap-modal扩展,里面有一个表单来在网页上执行某些功能,我想每次关闭模式时重置该表单,这是我正在使用的代码:

<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()函数只运行一次,在使用一次后它再也不起作用了。

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

1 个答案:

答案 0 :(得分:1)

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

$('#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”是你的模态的参考。用你的替换它。