我正在使用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()函数只运行一次,在使用一次后它再也不起作用了。
我无法弄清楚为什么,因为在完整页面重新加载后它再次起作用了!
答案 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”是你的模态的参考。用你的替换它。