在onblur事件中将参数从jsp传递到javascript函数

时间:2015-02-05 14:13:37

标签: javascript jsp onblur

我有一个java脚本函数,在许多jsp文件中使用。通常,它用于验证日期。 我的问题在于,虽然它在许多网站上使用,但其中一些网站提供了有关如何通知故障的不同信息。电话号码一般。

日期字段本身嵌入在serviceHeader.jsp中:



<h:inputText styleClass="inputText" tabindex="5" id="eventAt"
             value="#{serviceRequest.eventAt}" onblur='leaveFocusDate(this,"<%=telnr %>");'  style="width: 80px;" required="true" >
			<f:convertDateTime pattern="dd.MM.yyyy" />
		</h:inputText>
		<h:message for="eventAt" style="color:red; font-family: sans-serif;font-size:10pt; font-weight:bold; width: 330px;"/>
&#13;
&#13;
&#13;

serviceHeader.jsp包含在将提供不同信息的文件中,例如Canteen.jsp中的文件:

&#13;
&#13;
<%@include file="serviceHeader.jsp"%>
&#13;
&#13;
&#13;

Canteen.jsp也使用javascript文件:

&#13;
&#13;
	<script src='/PersonalWebFormsFrontend/dataSupport.js'
		type='text/javascript'></script>
&#13;
&#13;
&#13;

这里的问题是,例如食堂的支持号码与会议室不同。

我已经定义了Canteen.jsp的编号如下:

&#13;
&#13;
<%! String telnr = "-999"; %>
&#13;
&#13;
&#13;

如果日期无效,我们的想法是向用户发送通知。 电话号码必须是此通知的一部分。

这里开始我的问题。如何将telnr传递给dataSupport.js中定义的函数?

1 个答案:

答案 0 :(得分:0)

JSF标记<h:inputText不会处理JSP表达式。您需要首先将表达式值设置为范围变量,然后JSF可以通过自己的表达式语言访问该变量。

<c:set var="telnr" value="<%= telnr %>" scope="request" />
<h:inputText ... onblur='leaveFocusDate(this,"#{requestScope.telnr}");' ... />