Javascript f:ajax onerror在侦听器之前调用
我有一个简单的表单和一个非常简单的bean来监听ajax事件。下面是一些代码:Javascript f:ajax onerror在侦听器之前调用,javascript,ajax,jsf,jsf-2,mojarra,Javascript,Ajax,Jsf,Jsf 2,Mojarra,我有一个简单的表单和一个非常简单的bean来监听ajax事件。下面是一些代码: <script type="text/javascript"> function myfunction() { alert('error'); } </script> <h:commandButton id="someid" value="somevalue" > <f:ajax event="click" execute="some
<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后调用MyBean.fireEvent。原因可能是什么
我正在使用mojarra 2.0和树脂
谢谢。看起来像是格式问题,请尝试:
<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>
可能是格式问题,请尝试:
<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>
onerror属性必须指向函数名本身,而不是函数的返回值
所以,如果你更换
onerror="myfunction()"
借
然后它应该按预期工作。onerror属性必须指向函数名本身,而不是函数的返回值
所以,如果你更换
onerror="myfunction()"
借
然后它就应该按预期工作。找到了如何让它工作的方法。在myfunction定义之上,我添加了jsf.ajax.addOnErrormyfunction;并从ajax标记中删除了onerror=myfunction属性。我仍然很好奇为什么onerror属性不起作用。我想知道如何让它起作用。在myfunction定义之上,我添加了jsf.ajax.addOnErrormyfunction;并从ajax标记中删除了onerror=myfunction属性。我仍然很好奇为什么onerror属性不起作用。