我有一个简单的表单和一个非常简单的bean来监听ajax事件。以下是一些代码:
<script type="text/javascript">
function myfunction() {
alert('error');
}
</script>
<h:commandButton id="someid" value="somevalue" >
<f:ajax event="click" execute="someids" listener="#{MyBean.fireEvent}" onerror="myfunction()" />
</h:commandButton>
我在调试中使用eclipse来查看调用MyBean.fireEvent
的时间,据我所知,它在执行onerror="myfunction()"
后被调用。可能是什么原因?
我正在使用带树脂的mojarra 2.0。
感谢。
答案 0 :(得分:5)
看起来像格式化问题,也许可以尝试:
<script type="text/javascript">
function myfunction(error) {
alert(error.description);
}
</script>
<h:commandButton id="someid" value="somevalue" >
<f:ajax event="click"
execute="someids"
listener="#{MyBean.fireEvent}"
onerror="myfunction" />
</h:commandButton>
答案 1 :(得分:2)
onerror
属性必须指向函数名称本身,而不是函数的返回值。
所以,如果你替换
onerror="myfunction()"
通过
onerror="myfunction"
然后它应该按预期工作。