如何使用jasper服务器的输入控件激发脚本
How to fire a script with input controls of jasper server
我在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
-
打开记事本并粘贴以下代码
<%--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-server-cp-5.1.0''apache tomcat''webapps''jasperserver''WEB-INF''jsp''"位置,带有sampleText.jsp
-
现在登录jasper soft并执行该报告。屏幕应该是这样显示的,
-
从日期选择器屏幕中选择日期显示如下
-
在开始日期中指定今天的日期,在结束日期中指定本月的1,然后单击"应用"按钮,屏幕将显示这样的弹出窗口(警报),
-
所以你可以检查不同的情况,比如a.输入结束日期2014-04-01并检查b.输入结束日期2014-03-31并检查c.输入结束日期2012-03-31并检查在上述所有情况下,它都必须表现出警觉。
注意:上面的jsp示例代码用于验证开始日期和结束日期的输入控件。
请参阅链接https://www.youtube.com/watch?v=1xP967Eb4f4&t=585s,通过在代码中使用js的概念
- Dynamics 2016内部部署Crm客户端脚本.选项集控件类型缺少方法
- 优化自定义控件的脚本
- 脚本在web浏览器控件中不起作用
- 如何使用jasper服务器的输入控件激发脚本
- .aspx页面JS将在控件似乎由于某种原因而被呈现之前启动Onload脚本
- java脚本中用于多个控件的单个onchange函数
- 请帮助我理解 .ascx Web 用户控件中的此脚本
- 传单 GeoJASON 图层控件在此脚本中不起作用
- 需要在加载时访问 java 脚本中的 asp.net 服务器控件
- 从动态控件中选择内容的脚本
- 如何使用 java 脚本查找 asp 控件 ID
- 向用户控件注册脚本
- 使用 Java 脚本操作 asp.net 控件
- 让脚本模拟控件、按键序列
- 通过 Java 脚本获取服务器控件属性值
- 在 WP7 的 Web 浏览器控件中加载 HTML 脚本和视频播放
- 如何在asp.net用户控件中动态附加脚本标记
- 外部 Java 脚本中用户控件的文本框 ID
- 从web服务下载文件后,使用web浏览器控件在html中播放java脚本的奇怪行为
- 无法从asp.net控件文本框中使用js脚本