У меня есть кнопка в моем веб-приложении. Когда пользователь нажимает на него, я хочу запросить подтверждение и выполнить некоторые действия в моей базе данных.
Я написал код, используя bootstrapconfirmation.js. Когда пользователь нажимает на эту кнопку, строка в БД становится активной / неактивной. Когда я нажимаю в первый раз, он работает нормально, но в следующий раз он не работает.
Во время отладки у меня есть переменная с именем value3
. Когда я alert
это в начале, он показывает правильное значение, но внутри AJAX, когда я alert
, он дает мне предыдущее значение (когда он работал должным образом). Это не меняется. В чем может быть проблема?
<button type="button" class="active_inactive" data-category="<%=resultSet.getString(" category_id ")%>" value="Deactivate" onclick="process(this, '<%=resultSet.getString(" category_id ")%>', 'active_inactive', this.value)" title="Deactivate"><i class='fa fa-times'></i></button>
function process(thisobj, id, button_id, button_value) {
var value, value1, value2, value3;
if (button_value === "Activate") {
value = "activation";
value1 = "Activation";
value2 = "activate";
value3 = "Active";
} else {
value = "de-activation";
value1 = "De-activation";
value2 = "de-activate";
value3 = "Inactive";
}
alert(value3);
$.ajax({
url: '../Category',
context: thisobj,
data: {
"mode": "checkwarning",
"category_id": id
},
dataType: "html",
contentType: "application/json",
type: 'GET',
success: function() {
$(thisobj).confirmation({
container: 'body',
placement: 'top',
btnOkLabel: 'Confirm',
title: 'Are you sure?',
btnCancelLabel: 'Cancel',
href: 'javascript:void(0)',
onConfirm: function(thisobj, element) {
$.ajax({
url: '../Category',
context: thisobj,
data: {
"category_id": id,
"status": value3,
"mode": button_id
},
dataType: "html",
contentType: "application/json",
type: 'GET',
success: function() {
if (button_value === "Deactivate") {
swal({
title: "Deactivated!",
text: "De-activated the course category successfully.",
type: "success"
},
function() {
});
element.closest('td').prev('td').text('Inactive');
element.prop("title", "Activate");
element.attr('value', 'Activate');
} else {
swal({
title: "Activated!",
text: "Activated the course category successfully.",
type: "success"
},
function() {
});
element.closest('td').prev('td').text('Active');
element.prop("title", "Deactivate");
element.attr('value', 'Deactivate');
}
alert(value3);
element.find('i').toggleClass('fa fa-times fa fa-check');
},
error: function() {
swal("Error", "System Error: Could not " + value2 + " the category in the database. Please try again or report to the system admin.", "error");
}
});
}
}).confirmation('toggle');
},
error: function() {
swal("Sorry!", "Cannot de-activate the category since it has active course(s) or assessment(s).", "error");
}
});
}