我在使用包含一些重複按鈕的XPage中的重複控件。XPages:如何禁用重複控制中的按鈕
如何獲取單個按鈕或單擊按鈕後淡出某個按鈕? 我曾嘗試下面的代碼上的onClick甚至是客戶方,但沒有奏效
var id = dojo.query("[id='ActionBtn']")[0];
id.setDisabled(true);
我在使用包含一些重複按鈕的XPage中的重複控件。XPages:如何禁用重複控制中的按鈕
如何獲取單個按鈕或單擊按鈕後淡出某個按鈕? 我曾嘗試下面的代碼上的onClick甚至是客戶方,但沒有奏效
var id = dojo.query("[id='ActionBtn']")[0];
id.setDisabled(true);
獲取客戶端ID與#{id:ActionBtn}
,並用它來獲取按鈕元素來禁止它:
document.getElementById("#{id:ActionBtn}").disabled=true
或點擊
document.getElementById("#{id:ActionBtn}").style.visibility='hidden'
或
後隱藏例子:
<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>
在客戶端的事件,你可以得到全局對象thisEvent事件信息。
您可以通過thisEvent.srcElement得到觸發事件的dom元素。 所以我想你可以這樣做:
thisEvent.srcElement.style.display = 'none';
//...
而且這樣你可以避免做DOM樹的搜索。
但我喜歡禁用一個按鈕,而不是所有的,我如何得到ActionBtn的索引[0] –
由於按鈕在重複控制中,每個按鈕都有自己的ID。你用'#{id:ActionBtn}'得到了id# –
我添加了我的測試示例:只有點擊按鈕消失。 –