如何使用jasper服务器的输入控件激发脚本

How to fire a script with input controls of jasper server

本文关键字:控件 脚本 输入 何使用 jasper 服务器      更新时间:2023-09-26

我在jasper服务器中有四个输入控件,如CCA、CCIT、CIT和TAN。现在,当输入TAN输入控制时,必须验证这四个字段,并显示正确的警告消息。其他CCA、CCIT和CIT必须禁用,当您在CCA、CCIT和CIT中输入任何内容时,必须禁用TAN输入。我在JSP代码中生成并尝试通过脚本在jasperserver中发布报告的验证如下:当我在JSP中使用输入字段并执行时,该脚本运行良好。但是,当我使用相同的脚本和相同的输入控件名称时,没有显示任何警报窗口或任何类型的消息,也没有更改报告值。。我需要解决方案如何使输入控件可以与脚本对话并发出正确的警报消息。提前谢谢。

在堆栈溢出的帮助下,我能够处理我提出的问题。我尝试了不同的方式,比如,按照以下步骤

步骤:1在jasper服务器中运行您的报告,现在在浏览器的检查窗口中观察(如果没有右键单击,请使用ctrl+shift+j)elements内部标记expand-body标记在该div"frame"-->div class"content"-->div id"display"-->div id"reportViewFrame"-->div class"content"-->div class"body"-->div id"inputcontrolsform"-->div class="panel panel inputcontrols"-->div class"content-hasFooter"-->div lass"body"-->ul class"列出输入控件"现在,当您的jasper报告显示时,选择您要使用的输入控件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-server-cp-5.1.0''apache tomcat''webapps''jasperserver''WEB-INF''jsp''"位置,带有sampleText.jsp

  3. 现在登录jasper soft并执行该报告。屏幕应该是这样显示的,

  4. 从日期选择器屏幕中选择日期显示如下

  5. 在开始日期中指定今天的日期,在结束日期中指定本月的1,然后单击"应用"按钮,屏幕将显示这样的弹出窗口(警报),

  6. 所以你可以检查不同的情况,比如a.输入结束日期2014-04-01并检查b.输入结束日期2014-03-31并检查c.输入结束日期2012-03-31并检查在上述所有情况下,它都必须表现出警觉。

注意:上面的jsp示例代码用于验证开始日期和结束日期的输入控件。

请参阅链接https://www.youtube.com/watch?v=1xP967Eb4f4&t=585s,通过在代码中使用js的概念