如何禁用a4j:commandLink

时间:2011-11-16 07:29:36

标签: jsf-2 ajax4jsf

我有一个a4j:commandLink,我想在点击它时禁用它。 我写这样的代码:

    <a4j:commandLink id="link"
       onclick="this.disabled=true;"
       action="#{jobAction.action}"
       <h:graphicImage value="/img/last-enable.gif" />
    </a4j:commandLink>

但它不起作用。相同的代码可以在a4j:commandButton中工作,为什么a4j:commandLink不能?任何人都可以告诉我如何实现该功能? 谢谢

2 个答案:

答案 0 :(得分:2)

如果您最初设置onclick="return false;",则无法再执行一次操作。 所以你必须动态设置如下。

<a4j:commandLink onclick="this.setAttribute('onclick', 'return false;');"/>

答案 1 :(得分:1)

disabled属性仅适用于input元素。

请尝试使用return false;并添加特殊样式,以便链接看起来已停用。

<a4j:commandLink id="link"
   onclick="return false;"
   action="#{jobAction.action}"
   style="text-decoration: none; color: #dedede; cursor: default;"
   <h:graphicImage value="/img/last-enable.gif" />
</a4j:commandLink>