如何在jsf中执行操作之前在<a4j:commandlink>中调用javascript函数</a4j:commandlink>

时间:2014-10-24 08:24:49

标签: jsf jsf-2

实际上我有一个inputTextarea,我希望从它获取值并附加一些值,然后在BackingBean中执行操作。怎么实现这个!我试过了但是a4j:commandLink在onClick事件上调用javascript后没有调用动作。

我引用此参考 action method is not called in <a4j:commandLink> tag

How can I execute Javascript before a JSF <h:commandLink> action is performed?

http://balusc.blogspot.in/2009/05/javajspjsf-and-javascript.html 其实我的代码:

普通文件中的JavaScript

 function call()
    {
        var test= document.getElementById('inputId').value;
      test="hai"; //some code

     document.getElementById('inputId').value=test;
return true;
    }

in jsf
<a4j:commandLink onclick="if (!call()) return false;"
    action="#{bean.createUser()}"
    execute="@form">
    <h:graphicImage style="border-style:none;" url="/images/create.jpg"
        height="10px" />
</a4j:commandLink>

1 个答案:

答案 0 :(得分:0)

您可以使用原生html链接和a4j:jsFunction来实现这一目标。

<a href="#" onclick="appendFunctionHere(); jsFunctionToCallAction(); return false;">Click</a>

<a4j:jsFunction name="jsFunctionToCallAction" action="#{myManagedBean.myActionMethod}" ... />