【问题标题】:Bootstrap Modal only resets one timeBootstrap Modal 只重置一次
【发布时间】:2014-03-31 03:39:37
【问题描述】:

我正在使用 Bootstrap modal 和 bootstrap-modal 扩展以及内部的表单来在网页上执行某些功能,并且我想在每次关闭 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() 函数只运行一次,使用一次后就不再起作用了。

我不知道为什么,因为在重新加载完整的页面后它又可以工作了!

【问题讨论】:

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


    【解决方案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”是您的模态的参考。用你的替换它。

    【讨论】:

      猜你喜欢
      • 2015-04-14
      • 2018-11-28
      • 1970-01-01
      • 1970-01-01
      • 2023-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多