1

我有一个简单的表单和一个非常简单的 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()"执行后被调用。这可能是什么原因?

我正在使用带有 Resin 的 mojarra 2.0。

谢谢。

4

2 回答 2

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>
于 2012-11-28T16:18:14.060 回答
2

onerror属性必须指向函数名本身,而不是函数的返回值。

所以,如果你更换

onerror="myfunction()" 

经过

onerror="myfunction" 

那么它应该按预期工作。

于 2012-11-28T18:50:36.740 回答