![](/img/trans.png)
[英]Value in xp:confirm is not being updated after partial refresh. Why?
[英]how to define a conditional xp:confirm?
我想對條件狀態使用xp:confirm操作。 有沒有一種方法可以計算此控件的呈現屬性?
我可以為整個xp:eventHandler計算渲染屬性,但不能為xp:actionGroup或xp:confirm計算渲染屬性。
xp:confirm
只是使用以下命令將客戶端JavaScript添加到按鈕中:
if (!XSP.confirm("YOUR MESSAGE")){
return false;
}
XSP.confirm()
是XPages的JavaScript確認包裝器。 最靈活的方法是在按鈕的“客戶端”選項卡上編碼所需的客戶端JavaScript,並執行return false
以防止按鈕按需發送到服務器。
這是一個非常綜合的代碼段,但是,如果我理解正確並且適合您的用例,則可以滿足您的需求。 不太優雅,但可以。
<xp:panel id="mainPanel">
<xp:button id="myBtn1"
value="Ask confirmation on submit">
<xp:eventHandler event="onclick" submit="true"
refreshMode="partial" refreshId="mainPanel">
<xp:this.action>
#{javascript:
requestScope.put('myAnyVar', 'askConfirmation');
}
</xp:this.action>
</xp:eventHandler>
</xp:button>
<xp:button id="myBtn2"
value="Dont ask confirmation on submit">
<xp:eventHandler event="onclick" submit="true"
refreshMode="partial" refreshId="mainPanel">
<xp:this.action>
#{javascript:
requestScope.put('myAnyVar','dontAskConfirmation');
}
</xp:this.action>
</xp:eventHandler>
</xp:button>
<input type="hidden" id="doConfirm"
value="#{requestScope.myAnyVar eq 'askConfirmation' ? '1' : '0'}">
</input>
</xp:panel>
<br />
<br />
<xp:button id="btnSubmit"
value="Submit">
<xp:eventHandler event="onclick" submit="true"
refreshMode="complete">
<xp:this.script>
var confirmOption = dojo.byId('doConfirm').value;
if (confirmOption === '1') {
if (confirm('Proceed the submit?')) {
return true;
} else {
return false;
}
} else {
return true;
}
</xp:this.script>
<xp:this.action>
#{javascript:
viewScope.smthSubmitted = new java.util.Date();
}
</xp:this.action>
</xp:eventHandler>
</xp:button>
<br />
<br />
<xp:text value="Submit time: #{viewScope.smthSubmitted}" />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.