我正在使用 Bootstrap 模态和引导模态扩展,里面有一个表单在网页上做一些功能,我想在每次关闭模态时重置该表单,这是我正在使用的代码:
<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"是你的模态的参考。用你的替换它。