簡體   English   中英

如何防止Cognos中的頁面刷新?

[英]How To Prevent The Page Refresh In Cognos?

我正在使用Cognos v10.1。 我正在創建一個包含13個可選提示的報告。 由於很難在單個頁面中累積相同的內容,並且所有提示都是可選的,因此我嘗試為復選框編寫JavaScript代碼。 根據復選框中的選擇,我想顯示提示。 我有結果,但是提示有問題。 在我在選擇的任何提示中選擇一些值之前,頁面都會刷新。 如何防止頁面刷新? 您能否提出解決方案。 提前致謝。

我建議在Cognos范圍內工作,而不是嘗試自定義編寫JS。 您將不可避免地碰到它們的某些內置函數,這將導致奇怪的行為,從而產生跨版本和潛在的跨瀏覽器問題。

相反,為什么不選擇2個提示頁面:

  • 第1頁:使用值提示設置為復選框的復選框提示。 將每個都綁定到一個變量。
  • 第2頁:基於變量的條件渲染提示。

如果任何Cognos提示都是級聯提示(“屬性->'級聯源'”不是空白),則在選擇父提示后,它們將觸發提示頁面刷新。

同樣,任何將“自動提交”屬性設置為“是”的提示將在被選擇后觸發頁面提交(假設所有必需的提示均已填寫),或者將刷新您的提示頁面(如果尚未填寫任何必需的提示)。

Toddnappi的解決方案是我成功用於此類情況的一種解決方案,我強烈建議盡可能使用它。 Cognos javascript API受10.1的限制,但可以預測。 沒有理由不應該使解決方案按您嘗試的方式工作。

請記住,javascript API在10.2中得到了很大的改進,如果您需要大量自定義的javascript頁面,則可能值得研究。

編輯:只是做了一個測試,我在提示頁面中隱藏/顯示了可選提示:

Report Studio中的提示頁面

隱藏區域之前的HTML項目:

<script>
function checkDisplayPeriod() {
    var chkBox = document.getElementById("checkBox1");
    var divPeriod = document.getElementById("divHidePeriodPrompt");
    if (chkBox.checked) {
        divPeriod.style.display = 'none';
    } else {
        divPeriod.style.display = 'block';
    }
} 
</script>
<input type="checkbox" id="checkBox1" onclick="checkDisplayPeriod()" />
<div id="divHidePeriodPrompt">

該區域后的代碼:

</div>

首次加載頁面: 提示頁面初始加載

單擊后(不刷新): 單擊后提示頁面

暫無
暫無

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

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