我正在维护一个JSF遗留系统,我遇到以下问题: 有一个:inputText组件,其中包含事件onchange,onkeyup和onkeydown触发javascript函数,如下所示:
<h:inputText id="idX"
value="#{myBackingbean.myProperty}"
maxlength="14" size="14"
onkeypress="return javascriptMethodOne(event);"
onkeyup="javascriptMethodTwo(this, 1), javascriptMethodThree('idX','other_ID',14,event);"
onchange="javascriptMethodTwo(this, 1); javascriptMethodFour(JS_CONST);" />
我需要从h:inputText调用一个支持bean方法,我想在a:inputText中添加一个a4j:support,就像这段代码一样:
<h:inputText ... >
<a4j:support .../>
</h:inputText>
问题是a4j:当在componet h:inputText中设置事件时,支持不起作用。
那么,保持javascript函数的调用,如何在onchange,onkeyup或onkeydown被触发时调用支持bean方法?
以下代码不起作用:
<h:inputText id="idX"
value="#{myBackingbean.myProperty}"
maxlength="14" size="14"
onkeypress="return javascriptMethodOne(event);"
onkeyup="javascriptMethodTwo(this, 1), javascriptMethodThree('idX','other_ID',14,event);"
onchange="javascriptMethodTwo(this, 1); javascriptMethodFour(JS_CONST);">
<a4j:support action="#{myBackingbean.myMethod}" event="onchange"/>
<a4j:support action="#{myBackingbean.myMethod}" event="onkeyup"/>
<a4j:support action="#{myBackingbean.myMethod}" event="onkeydown"/>
</h:inputText>
THX!