2013-12-17 32 views
-1

我有四個輸入控件在Jasper服務器,如CCA,CCIT,CIT和TAN。現在,這四個字段必須得到驗證,並且當進入TAN輸入控制時必須顯示正確的警報消息,其他CCA,CCIT和CIT必須禁用,並且當您在CCA,CCIT和CIT中輸入任何內容時,TAN輸入必須禁用。我在JSP代碼中生成的這種驗證以及試圖通過腳本在jasperserver中發佈報告如下所示:當我在jsp中使用輸入字段並執行時,此腳本正常工作。但是,當我使用相同的腳本具有相同的輸入控件名稱,並且沒有任何警報窗口,也沒有顯示任何類型的消息,也無法更改報告值。我需要解決方案如何使輸入控件可以用腳本說話並觸發適當的警報消息。先謝謝你。如何用jasper服務器的輸入控件觸發腳本

回答

1

在堆棧溢出的幫助下,我能夠處理問題。我嘗試了不同的方式一樣,請按照下列步驟

步驟:1 在碧玉服務器運行報告,現在 觀察檢查你的瀏覽器窗口(如果右鍵單擊未發生使用ctrl+shift+j)中的元素標籤擴展體標籤裏面的div「框架」 - 「div類」內容「 - > div id」顯示「 - > div ID」reportViewFrame「 - > div類」內容「 - > div類」身體「 - > div id「inputcontrolsform」 - > div class「panel pane inputcontrols」 - > div class「content hasFooter」 - > div class「body」 - > ul class「list input controls」 現在,選擇哪個輸入控件id你想在你的碧玉報告顯示時使用代碼

步驟2: 創建具有相同的名稱

對於如JSP文件:sampleText.jsp

  1. 打開記事本並粘貼下面的代碼

    <%--Include templates--%> 
    <jsp:include page="InputControlTemplates.jsp"/> 
    <%-- input controls container --%> 
    <ul class="list inputControls" id="inputControlsContainer"></ul> 
    <script> 
    jQuery(document).ready(function(){ 
    jQuery("#apply").click(function(){ 
    var fromDate = document.querySelector('#start_date label.control input').value; 
    var toDate = document.querySelector('#end_date label.control input').value; 
    /*alert("Start Date: "+fromDate+"End Date: "+toDate);*/ 
    
    /*Year conversion*/ 
    var start1=fromDate.substring(0,4); 
    var end1=toDate.substring(0,4); 
    /*alert("Years: From: "+start1+" End: "+end1);*/ 
    
    /*Months conversion*/ 
    var m1=fromDate.substring(7,5); 
    var m2=toDate.substring(7,5); 
    
    /*alert("Months m1: "+m1+" m2 :"+m2);*/ 
    
    /*condition checking*/ 
    
    if(fromDate>toDate){ 
    alert("End Date has to be higher than start date"); 
    } 
    
    if((end1-1)>start1){ 
    alert("1.End date has to be in the same financial year as start date."); 
    } 
    
    if((end1-1)==start1){ 
    if(m2>3){ 
    alert("End date has to be in the same financial year as start date."); 
    }    
    } 
    
    if(end1==start1) 
    { 
    if(m2<=3) 
    { 
    alert("End date has to be in the same financial year as start date."); 
    } 
    } 
    }); 
    }); 
    </script> 
    
  2. 保存的位置「\ JasperReports的服務器-CP -5.1.0 \ apache-tomcat \ webapps \ jasperserver \ WEB-INF \ jsp \「

  3. 現在登錄到jasper soft並執行該報告。屏幕應該出現這樣的,

  4. 從日期選取器屏幕上選擇的日期出現這樣

  5. 指定的開始日期今天的日期和結束日期指定這個月的1,然後點擊「應用「按鈕,然後屏幕會給你彈出(警告)這樣,

  6. 因此,你可以檢查不同的條件,如 a。輸入結束日期2014-04-01並檢查 b。在2014-03-31輸入結束日期,並檢查 c。在2012-03-31輸入結束日期並檢查 在上述所有情況下,都必須顯示警報。

注:上面的JSP的樣本代碼用於給出開始日期和結束日期的輸入控制驗證。

相關問題