在我的JSF 1.2 web应用程序中,我有一个页面,其中包含一个
我想使用JavaScript实现一个简单的“您确定吗?”提示,包括“Yes/No”或“OK/Cancel”选项。我不太擅长JavaScript,以前也从未将JavaScript与JSF混合使用过。是否有人可以提供一个代码片段来展示如何实现这个功能?
这里是我JSP页面中声明命令按钮的部分:
<h:commandButton>
,该按钮调用后端bean上的动作方法。此操作将导致数据库中的数据被删除/替换,因此我希望避免用户意外单击该命令按钮。我想使用JavaScript实现一个简单的“您确定吗?”提示,包括“Yes/No”或“OK/Cancel”选项。我不太擅长JavaScript,以前也从未将JavaScript与JSF混合使用过。是否有人可以提供一个代码片段来展示如何实现这个功能?
这里是我JSP页面中声明命令按钮的部分:
<h:commandButton
id="commandButtonAcceptDraft"
title="#{bundle.tooltipAcceptDraft}"
action="#{controller.actionReplaceCurrentReportWithDraft}"
image="/images/checkmark.gif">
</h:commandButton>
解决方案:
BalusC提供的解决方案很有效。我想补充说明,使用资源包中的文本作为提示文本也很容易。在我的页面上,我使用如下元素加载资源包:
<f:loadBundle basename="com.jimtough.resource.LocalizationResources" var="bundle" />
<f:loadBundle>
必须放在你的<f:view>
内部。然后我按照BalusC提供的代码将一个来自我的资源包的字符串替换为命令按钮元素中的“Are you sure?”文本,像这样:
<h:commandButton
id="commandButtonAcceptDraft"
title="#{bundle.tooltipAcceptDraft}"
action="#{controller.actionReplaceCurrentReportWithDraft}"
image="/images/checkmark.gif"
onclick="return confirm('#{bundle.confirmationTextAcceptDraft}')">
</h:commandButton>
我在英文资源文件中有一行内容(这个文件只是一个键值对的纯文本文件),看起来像这样:
# text displayed in user prompt when calling confirm()
confirmationTextAcceptDraft=This will overwrite the current report and cannot be undone. Are you sure?