【发布时间】:2014-09-14 17:55:16
【问题描述】:
在调用 <f:ajax listener> 之前和之后调用 JavaScript 操作有一个简单的方法,例如我想调用 window.alert("pre") before 和 window.alert("post") after onChange 在 backing bean ACtrl 中被调用:
<h:form>
<h:inputText id="anId" value="#{cityCtrl.dbHost}">
<f:ajax event="change" listener="#{aCtrl.onChange}" execute="@all"/>
</h:inputText>
</h:form>
@ManagedBean
public class ACtrlimplements Serializable {
public void onChange(AjaxBehaviorEvent event) {
System.out.println("something changed");
}
}
添加多个 f:ajax 元素似乎不起作用(也许应该?!),例如在
<h:form>
<h:inputText id="anId" value="#{cityCtrl.dbHost}">
<f:ajax event="change" listener="#{aCtrl.toggle}" execute="@all"/>
<f:ajax event="change" listener="#{aCtrl.onChange}" execute="@all"/>
<f:ajax event="change" listener="#{aCtrl.toggle}" execute="@all"/>
</h:inputText>
</h:form>
@ManagedBean
public class ACtrlimplements Serializable {
public void onChange(AjaxBehaviorEvent event) {
System.out.println("something changed");
}
public void toggle(AjaxBehaviorEvent event) {
System.out.println("blah");
}
}
只调用ACtrl.onChange。
【问题讨论】:
标签: javascript ajax jsf-2.2