Удалить строку подтвердите с помощью jquery и jsf
Я пытался найти решение на этом форуме в течение пяти дней и нашел несколько похожих ситуаций, но все равно не смог решить свою проблему.
1- Я использую чистый JSF
2- Мне нужно перед удалением строки из моей таблицы есть подтверждение, модальное (я пытаюсь использовать smartNotifications)
3 - Я могу вызвать функцию javascript и приостановить действие удаления, но после нажатия кнопки "Да, я хочу удалить запись" не продолжает процесс стирания записи, стоит на том же месте.
Следуйте моему примеру ниже
Java-код
<h:form id="form1">
<h:datatable id="tab1">
<h:column id="column1">
<f:facet name="header">User</f:facet>
<h:outputText rendered="#{bean.User}"></h:outputText>
</h:column>
<h:column id="column2">
<h:commandlink onclick="delete();" action="#{bean.deleteUser}" />
</h:column>
</h:datatable>
</h:form>
Javascript:
function delete(e) {
$.SmartMessageBox({
title: "Are you Sure?",
content: "This action can not be undone",
buttons: '[Yes][No]'
}, function (ButtonPressed) {
if (ButtonPressed === "Yes") {
return true;
}
if (ButtonPressed === "No") {
return false;
}
});
e.preventDefault();
}
пожалуйста, помогите мне
1 ответ
Они запускают ваш код e.preventDefault() get вызывается в любом случае. То, что вы хотите (я предполагаю), это поставить e.preventDefault(); в кнопке if === Нет раздела
function delete(e) {
$.SmartMessageBox({
title: "Are you Sure?",
content: "This action can not be undone",
buttons: '[Yes][No]'
}, function (ButtonPressed) {
if (ButtonPressed === "Yes") {
return true;
}
if (ButtonPressed === "No") {
e.preventDefault();
}
});
}