sTg*_*sTg 4 jsf dialog primefaces jsf-2
我有一个功能,我必须通过我的确认对话框调用我的托管bean,这是用于删除按钮.当用户点击删除按钮时,会弹出一个确认对话框,并onclick显示"是",我的相对托管bean应该被调用.但我无法做到.
<p:commandButton id="Delete" action="#{tbeanId.delete}" icon="ui-icon ui-icon-trash"
value="Delete" title="GDeleteButton" ajax="false" onclick="PF('groupDeleteConfirm').show();" type="button">
<p:confirm header="Delete Record" message="Are you sure about deleting this record?" icon="ui-icon-alert"/>
</p:commandButton>
<p:confirmDialog global="true" showEffect="fade" hideEffect="explode" widgetVar="groupDeleteConfirm">
<p:commandButton title="GDelYesButton" value="Yes" oncomplete="PF('groupDeleteConfirm').hide()" " />
<p:commandButton title="GDelNoButton" value="No" onclick="PF('groupDeleteConfirm').hide()" type="button" />
</p:confirmDialog>
Run Code Online (Sandbox Code Playgroud)
Jaq*_*har 16
使用p:confirmDialog带有global="true"确认/取消按钮时,这两个styleClasses(有点不直观地)标识:
styleClass="ui-confirmdialog-yes"
styleClass="ui-confirmdialog-no"
Run Code Online (Sandbox Code Playgroud)
然后将调用该动作并自动发生show()/ hide().Ajax在主按钮上应该是真的,你不需要type="button"这样,总而言之它会更简单:
<p:commandButton id="delete"
action="#{trafficExpenseItemsMBean.deleteExpenseItemsGroup}"
icon="ui-icon ui-icon-trash"
value="Delete"
title="GDeleteButton">
<p:confirm header="Delete Record"
message="Are you sure about deleting this record?"
icon="ui-icon-alert"/>
</p:commandButton>
<p:confirmDialog global="true" showEffect="fade" hideEffect="explode">
<p:commandButton title="GDelYesButton" value="Yes" styleClass="ui-confirmdialog-yes"/>
<p:commandButton title="GDelNoButton" value="No" styleClass="ui-confirmdialog-no" />
</p:confirmDialog>
Run Code Online (Sandbox Code Playgroud)
另一种选择是使其成为非全球性的.然后你需要将动作移动到是按钮,将消息移动到p:confirmDialog,如下所示
<p:commandButton id="delete"
icon="ui-icon ui-icon-trash"
value="Delete"
title="GDeleteButton"
onclick="PF('groupDeleteConfirm').show()">
</p:commandButton>
<p:confirmDialog message="Are you sure about deleting this record?"
showEffect="fade"
hideEffect="explode"
widgetVar="groupDeleteConfirm">
<p:commandButton title="GDelYesButton"
value="Yes"
action="#{trafficExpenseItemsMBean.deleteExpenseItemsGroup}"
oncomplete="PF('groupDeleteConfirm').hide()"
update=":growl"/>
<p:commandButton title="GDelNoButton"
value="No"
oncomplete="PF('groupDeleteConfirm').hide()"/>
</p:confirmDialog>
Run Code Online (Sandbox Code Playgroud)
我不确定你是否真的想要那些title按钮,因为它们会向用户显示.
当您p:commandButton对需要在服务器上完成的操作使用 a 时,您不能使用,type="button"因为这是用于执行自定义 javascript 的按钮,而不会导致对服务器的 ajax/非 ajax 请求。
为此,您可以分配type属性(默认值为“提交”),也可以明确使用type="submit".
希望这会帮助某人!
| 归档时间: |
|
| 查看次数: |
20978 次 |
| 最近记录: |