XPages:如何禁用重复控件中的按钮

时间:2015-06-08 08:12:41

标签: javascript xpages

我在XPage中使用重复控件,其中包含一些重复的按钮。

单击按钮后如何抓住个别按钮或淡出特定按钮? 我已经在onClick上尝试了以下代码,即使是Clientside也没有用

var id = dojo.query("[id='ActionBtn']")[0];
id.setDisabled(true);

2 个答案:

答案 0 :(得分:2)

使用#{id:ActionBtn}获取客户端ID并使用它来获取按钮元素以禁用它:

document.getElementById("#{id:ActionBtn}").disabled=true

或点击

后隐藏它
document.getElementById("#{id:ActionBtn}").style.visibility='hidden'

document.getElementById("#{id:ActionBtn}").style.display='none'

示例:

<xp:repeat
    id="repeat1"
    rows="30">
    <xp:this.value><![CDATA[#{javascript:[1,2,3,4]}]]></xp:this.value>
    <xp:button
        value="Label"
        id="ActionBtn">
        <xp:eventHandler
            event="onclick"
            submit="false">
            <xp:this.script><![CDATA[
                  document.getElementById("#{id:ActionBtn}").style.display='none'
            ]]></xp:this.script>
        </xp:eventHandler>
    </xp:button>
    <br />
</xp:repeat>

答案 1 :(得分:0)

在客户端事件中,您可以使用全局对象 thisEvent 获取事件信息。

您可以使用 thisEvent.srcElement 获取触发事件的dom元素。 所以我想你可以这样做:

thisEvent.srcElement.style.display = 'none';
//...

同样以这种方式避免在dom树中进行搜索。