Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript f:ajax onerror在侦听器之前调用_Javascript_Ajax_Jsf_Jsf 2_Mojarra - Fatal编程技术网

Javascript f:ajax onerror在侦听器之前调用

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

我有一个简单的表单和一个非常简单的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后调用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属性不起作用。