Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用jasper服务器的输入控件启动脚本_Javascript_Jasperserver - Fatal编程技术网

Javascript 如何使用jasper服务器的输入控件启动脚本

Javascript 如何使用jasper服务器的输入控件启动脚本,javascript,jasperserver,Javascript,Jasperserver,我在jasper服务器中有四个输入控件,如CCA、CCIT、CIT和TAN。现在,这四个字段必须得到验证,当输入TAN输入控制时,必须显示正确的警报消息,其他CCA、CCIT和CIT必须被禁用,当您在CCA、CCIT和CIT中输入任何内容时,TAN输入必须被禁用。我在JSP代码中生成的验证,并尝试通过脚本在jasperserver中发布报告,如下所示:当我在JSP中使用输入字段并执行时,该脚本工作正常。但是,当我使用具有相同输入控件名称的同一脚本时,不会显示任何警报窗口或任何类型的消息,也不会更

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

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

步骤:1 现在在jasper服务器上运行您的报告 在浏览器的检查窗口中观察如果没有右键单击,请使用ctrl+shift+j inside elements tag展开主体标记在该div框架内->div class content->div id display->div id reportViewFrame->div class content->div class body->div id inputcontrols Form->div class panel inputcontrols->div class content hasFooter->div类主体->ul类列表输入控件 现在,选择在显示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>
使用sampleText.jsp在“\jasperreports-server-cp-5.1.0\apache tomcat\webapps\jasperserver\WEB-INF\jsp\”位置另存为

现在登录到jasper软件并执行该报告。屏幕应该是这样显示的

从日期选择器屏幕中选择日期,如下所示

在“开始日期”中指定“今天日期”,在“结束日期”中指定“本月1日”,然后单击“应用”按钮,屏幕将向您发出如下弹出警报

所以你可以检查不同的情况,比如 a、 输入结束日期2014-04-01并检查 b、 用2014-03-31输入结束日期并选中 c、 用2012-03-31输入结束日期并选中 在上述所有情况下,它必须显示警报

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

在代码中使用js的概念来引用链接