<p:commandButton>
可以在与onclick
关联的oncomplete
属性的帮助下禁用widgetVar
并启用<p:commandButton widgetVar="widget"
onclick="PF('widget').disable()"
oncomplete="PF('widget').enable()"
value="Submit"
process="@this"
actionListener="#{bean.action}"/>
,如下所示。
<p:commandLink>
widgetVar
怎么样?没有<p:commandLink>
属性与{{1}}相关联。有没有捷径?
答案 0 :(得分:3)
你是对的,commandLink没有任何小部件对象,但它毕竟是普通的链接,你可以通过jQuery
和CSS
实现这一点:
CSS
a.disabled {
pointer-events: none;
cursor: default;
color: gray;
}
XHTML 的
<p:commandLink id="ajaxSubmit"
value="Submit"
onclick="$('#ajaxSubmit').addClass('disabled')"
oncomplete="$('#ajaxSubmit').removeClass('disabled')">
</p:commandLink>
注意:jQuery选择器可能会有所不同,但大部分都是$('#formId\\:ajaxSubmit')
答案 1 :(得分:0)
您可以使用基本的javascript实现这一目标。
为命令链接指定一个id
<p:commandLink id="theLink"/>
通过javascript
设置disabled
属性
<script>
function toggleLink(currentStatus){
document.getElementById("theLink").disabled=currentStatus;
}
</script>
使用commandLink上的基本脚本
<p:commandLink id="theLink" onclick="toggleLink(true);" oncomplete="toggleLink(false);"/>
编辑:要在数据表中使用,您应该能够在onclick
<p:commandLink id="theLink" onclick="this.disabled=true;" oncomplete="this.disabled=false;""/>