В моем веб-приложении JSF 1.2 у меня есть страница с <h:commandButton>
, которая вызывает метод действия на компоненте поддержки.Это действие приведет к удалению / замене данных в базе данных, поэтому я хочу избежать любых ситуаций, когда пользователь случайно нажимает командную кнопку.
Я хотел бы реализовать простое «Вы уверены?»подсказка с опциями «Да / Нет» или «OK / Отмена» с использованием JavaScript.Я не очень хорошо разбираюсь в 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, в свой элемент командной кнопки, но заменяю строку из моего пакета ресурсов на «Вы уверены?»текст, как это:
<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?