Javascript Bootstrap Modal和Jquery:[DOM]发现2个元素具有非唯一ID,但所有ID都是唯一的

Javascript Bootstrap Modal和Jquery:[DOM]发现2个元素具有非唯一ID,但所有ID都是唯一的,javascript,jquery,dom,bootstrap-4,bootstrap-modal,Javascript,Jquery,Dom,Bootstrap 4,Bootstrap Modal,好的,我使用bootstrap4,在一个页面中有两种不同的模态类型。我使用Ajax来填充这些模态的主体。每个模式打开的这两种形式彼此不同,但它们具有某些相似的ID标记 这就是我激发情态动词的方式 $('#modalForm').on('show.bs.modal', function (event) { var button = $(event.relatedTarget); ajaxLoad(button.data('href'), 'modal_content'); });

好的,我使用bootstrap4,在一个页面中有两种不同的模态类型。我使用Ajax来填充这些模态的主体。每个模式打开的这两种形式彼此不同,但它们具有某些相似的ID标记

这就是我激发情态动词的方式

$('#modalForm').on('show.bs.modal', function (event) {
    var button = $(event.relatedTarget);
    ajaxLoad(button.data('href'), 'modal_content');
});

$('#modalFormLG').on('show.bs.modal', function (event) {
    var button = $(event.relatedTarget);
    ajaxLoad(button.data('href'), 'modal_content_lg');
});
问题是当我打开一个模式,然后当我打开第二个模式时,我在浏览器控制台中得到以下错误

[DOM] Found 2 elements with non-unique id #cashpaid: (More info: goo...) 
然而,我没有任何ID的副本,只是因为现金支付的ID在这两种形式中都被使用了,而这两种形式的ID都被调用到它的主体中

如果我刷新页面并再次打开模式,那么我看不到这个问题

我试过以下方法,但没有任何效果

$("#myModal").on("hidden.bs.modal", function(event) {
  $(this).removeData("bs.modal");
});
当我运行以下两个模块时,我的modals对于将来的使用将变得没有响应,因为它们基本上删除了特定的html数据

$("#myModal").on("hidden.bs.modal", function(event) {
  $(this).empty();
});

AND

$("#myModal").on("hidden.bs.modal", function(event) {
  $(this).remove();
}); 
打开并提交第一个模式后,当我在浏览器控制台中键入“cashpayd”时,我会看到以下内容

<input type="number" id="cashpaid" name="cashpaid" min="0">
HTMLCollection(2) [input#cashpaid.valid, input#cashpaid, cashpaid: input#cashpaid.valid] 
那么,bootstrap4模块有什么方法可以在远程url表单关闭时清除其数据呢

任何帮助都将不胜感激。提前谢谢

$(document).on('hidden.bs.modal', '#modalForm', function (event) {
  $('.modal-body', this).empty();
});
关闭模态动画结束后,…将删除
#modalForm.modal body
的所有子元素

注意1:您只需绑定一次,而不是每次打开模式文件时


注2:如果您希望在每个模式(不仅是
#modalForm
)上都使用此功能,请将
#modalForm
替换为
.modalForm
。但是请记住,您只能使用在重新打开时生成其内容的情态动词来执行此操作。静态模式在重新打开时将保持为空。

请创建一个静态模式。到目前为止,您发布的内容不足以复制该问题。完成。我添加了更多的细节。模态在DOM中存在,即使它们没有被渲染。考虑创建一个最小可运行的示例,该示例再现错误。没有一个,怎么可能有人测试一个潜在的修复?谢谢。根据我现在所知道的,我把我的问题写得更清楚了。基本上,我需要bootstrap4模式来清除远程URL表单主体中的数据,当它关闭时,这为我修复了它。。我在('hidden.bs.modal',function(){$('modal body',this.empty();})上添加了$('modalForm').on('hidden.bs.modal',function(){$('modal body',this.empty(););在两个情态动词上。。非常感谢你帮助我。