【问题标题】:Sending a callback to JSF a4j:jsFunction oncomplete event向 JSF a4j:jsFunction oncomplete 事件发送回调
【发布时间】:2011-09-11 13:35:15
【问题描述】:

我正在尝试使我的应用程序中对 JSF 函数的调用更加动态。我希望发送一个回调函数作为参数并使其在函数的oncomplete 事件中调用,而不是手动将回调函数写入oncomplete 事件的静态方式。这是一个例子:

<script type="text/javascript">
  myFunc('myParamValue', function(){
    doThis();
    andDoThis();
  });
</script>

<a4j:jsFunction name="myFunc" actionListener="#{...}" data="" oncomplete="">
  <f:param name="myParam" />
  <f:param name="callback" />
</a4j:jsFunction>

我想问一下这是否可以通过使用a4j:jsFunctiondata 属性来实现?像这样的:

...
data="#{myBean.callback}"
oncomplete="if (typeof window[event.data] == 'function') window[event.data]();"
...

【问题讨论】:

    标签: javascript callback jsf-2 richfaces ajax4jsf


    【解决方案1】:

    试试这样的:

    // Page
    
    <a4j:jsFunction name="callScript" data="#{bean.someProperty1}" 
            reRender="someComponent" 
            oncomplete="execute(data.callback)">
    
          <a4j:actionparam name="something" assignTo="#{bean.something}"/>
          <a4j:actionparam name="callback" assignTo="#{bean.callback}"/>
    
    </a4j:jsFunction>
    
    // JS
    
    function testFunction() {
        alert("It works!");
    }
    
    function execute(funcName) {
        //is no namespace use window
        window[funcName]();
    }
    
    //call
    callScript("param1", "testFunction");
    

    【讨论】:

      【解决方案2】:

      试试这个:

      <a4j:jsFunction name="callScript" data=".." 
          reRender="someComponent" 
          oncomplete="foo(data,request)">
      
        <a4j:actionparam name="something" assignTo="#{bean.something}"/>
        <a4j:actionparam name="callback" />
      

      和js

      function foo(data,request) {
       var callback =request.options.parameters.callback ;
       callback(data); 
       }
      

      【讨论】:

        猜你喜欢
        • 2011-02-23
        • 1970-01-01
        • 1970-01-01
        • 2019-09-24
        • 1970-01-01
        • 2012-07-31
        • 2018-11-15
        • 2016-10-03
        • 2013-02-27
        相关资源
        最近更新 更多