我有四個輸入控件在Jasper服務器,如CCA,CCIT,CIT和TAN。現在,這四個字段必須得到驗證,並且當進入TAN輸入控制時必須顯示正確的警報消息,其他CCA,CCIT和CIT必須禁用,並且當您在CCA,CCIT和CIT中輸入任何內容時,TAN輸入必須禁用。我在JSP代碼中生成的這種驗證以及試圖通過腳本在jasperserver中發佈報告如下所示:當我在jsp中使用輸入字段並執行時,此腳本正常工作。但是,當我使用相同的腳本具有相同的輸入控件名稱,並且沒有任何警報窗口,也沒有顯示任何類型的消息,也無法更改報告值。我需要解決方案如何使輸入控件可以用腳本說話並觸發適當的警報消息。先謝謝你。如何用jasper服務器的輸入控件觸發腳本
回答
在堆棧溢出的幫助下,我能夠處理問題。我嘗試了不同的方式一樣,請按照下列步驟
步驟: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
打開記事本並粘貼下面的代碼
<%--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>
保存的位置「\ JasperReports的服務器-CP -5.1.0 \ apache-tomcat \ webapps \ jasperserver \ WEB-INF \ jsp \「
現在登錄到jasper soft並執行該報告。屏幕應該出現這樣的,
從日期選取器屏幕上選擇的日期出現這樣
指定的開始日期今天的日期和結束日期指定這個月的1,然後點擊「應用「按鈕,然後屏幕會給你彈出(警告)這樣,
因此,你可以檢查不同的條件,如 a。輸入結束日期2014-04-01並檢查 b。在2014-03-31輸入結束日期,並檢查 c。在2012-03-31輸入結束日期並檢查 在上述所有情況下,都必須顯示警報。
注:上面的JSP的樣本代碼用於給出開始日期和結束日期的輸入控制驗證。
- 1. 從服務器觸發PHP腳本
- 2. 腳本未將輸入發佈到PHP服務器腳本。
- 3. 當輸入文本框時,Asp.net buttonclick服務器事件觸發
- 4. 瀏覽器如何識別輸入控件是服務器控件,因此應該發送給服務器?
- 5. Boots在不調用服務器bean的輸入文本上觸發ajax事件
- 6. 在腳本加載之前加載事件觸發器服務器端腳本
- 7. 如何使用發佈到服務器端腳本提交表單輸入值
- 8. 在服務器端腳本中觸發事件
- 9. asp.net Web服務器控件與子控件,事件不觸發
- 10. 開發定製asp.net服務器控件呈現腳本代碼
- 11. 如何控制Shell腳本的輸入?
- 12. 如何用jQuery觸發輸入事件?
- 13. SQL服務器插入觸發器
- 14. 如何控制本地控制器的輸入引腳
- 15. 的FileMaker服務器新添加的記錄觸發PHP腳本
- 16. 服務器發送的事件:如何觸發發送
- 17. 在2個單獨的輸入字段上觸發AJAX腳本觸發器
- 18. 如何使用Meteor服務器端事件觸發事件
- 19. 如何觸發jQuery的輸入事件
- 20. 在腳本任務中觸發事件
- 21. SQL服務器觸發插入
- 22. SQL服務器觸發不插入
- 23. Google App腳本觸發器未觸發
- 24. Google Apps腳本觸發器未觸發
- 25. SQL服務器觸發器
- 26. 使用非服務器端輸入控件上傳文件
- 27. 如何防止輸入中的「按enter」觸發事件? Java腳本
- 28. ASP.Net Ajax AsyncFileUpload控件不會觸發服務器端OnUploadCompleted事件
- 29. 服務器控件事件無法正確觸發
- 30. Azure功能:服務總線輸入綁定(不是觸發器)