簡體   English   中英

引導模態問題

[英]Issue with bootstrap modal

我正在從外部url(Ajax)將內容加載到引導模式。 因此,對於我來說,當用戶單擊鏈接時,模式應該使用最新數據打開。 但是,當我第一次打開模式時,它正在加載內容。 但是關閉並重新打開后,它僅顯示以前的內容。 第二次它不與外部URL通信。 因此,為此,我用bootstrap.js中的這一行代碼替換了1206行(在版本3.3.5中進行了嘗試)。

//if (!data) $this.data('bs.modal', (data = new Modal(this, options)))
New Line
if (!data || options.refresh) $this.data('modal', (data = new Modal(this, options)))

這很好,當我打開和關閉模式並再次打開時,它總是通過外部URL來獲取內容。 現在的問題是,在該模式下,我有一些帶有一些常規驗證的文本字段。 為此,我使用了引導箱。 現在,當everfield字段為空時,bootbox.alert()會觸發, but when I click on Ok button it is not closing 並且從modal提交數據后,modal也不會關閉。 甚至我在Ajax成功響應jQuery('#listmodal_popup').modal('hide');也使用過此方法jQuery('#listmodal_popup').modal('hide');

但是,當我從bootstrap.js注釋此行並取消注釋上一行時,在提交並關閉bootbox.alert之后關閉模式可以正常工作。

if (!data || options.refresh) $this.data('modal', (data = new Modal(this, options)))

那么如何解決這個問題呢? 任何幫助將不勝感激。

更改框架的代碼絕不是一個好主意-一年后,您將進行更新,而您會忘記此事,一切都會開始崩潰。 我知道,情況並非如此,但供將來參考:)

准備好DOM之后,將其添加為第一件事

$.ajaxSetup({ cache: false })

從現在開始,這將禁用所有通過jQuery完成的AJAX請求的緩存。 如果這是一個問題,則應僅在打開模式並將其啟用后才禁用緩存。

這是我找到的修復程序。

jQuery('body').on('hidden.bs.modal', '.modal', function () {
  jQuery(this).removeData('bs.modal');
});

這對我來說是有效的,每當我單擊鏈接時,它都在與外部URL通信並獲取最新數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM