У меня есть диалог, который проверяет, действительно ли пользователь хочет сохранить данные, когда транспортное средство превышает километры в параметрах. Диалог отображается в нужный момент, но код продолжается и сохраняет данные, прежде чем пользователь скажет «да» или «нет» этой опции.
Я поместил код ниже:
if(vehicleIDkm > 0){
//Instrucciones para comprobar si no supera la media de kilometros del vehiculo
$.ajax({
url: "getVehicleKMmax.json?vehicleId=" + vehicleIDkm,
method: 'GET',
dataType: "json",
async: false,
contentType: 'application/json',
success: function(kmMaxVehicle){
if(kilometrosLlegada - kilometrosSalida > kmMaxVehicle){
// Abrir la ventana para informar y pedir confirmacion
$("#dialog-activity-data-confirm").dialog({
resizable: false,
height: 300,
width: 400,
modal: true,
async: false,
dialogClass: "confirmDialogClass",
title: "Exceso de kilómetros",
open: function() {
var markup = 'Ha excedido la cantidad de kilometros a realizar en un dia por este vehiculo, ¿quiere guardar la producción igualmente? De ser así, pulse en continuar, si no, cierre esta ventana.';
$(this).html(markup);
},
buttons:
[
{
text: "Continuar",
"class": "buttonTextDelete roundedButton roundedButtonAccent confirmBG",
click: function() {
sePuedeGuardar = true;
noSePuedeGuardarPorKilometros = false;
$(this).dialog('close');
}
}
],
close: function() {
sePuedeGuardar = false;
noSePuedeGuardarPorKilometros = true;
}
});
}
},
error: function(error){
console.log("Se ha producido un error al comprobar si es festivo el día.");
}
});
}
if(sePuedeGuardar){
// Guardamos los datos
$.ajax({
type: "POST",
url: finalUrl,
...
...
...
Как видите, я использую переменную "sePuedeGuardar", чтобы проверить, можете ли вы сохранить или нет данные, но это всегда go в что если, независимо от того, является ли это истиной или ложью, потому что это происходит там, прежде чем пользователь ответит на вопрос диалога.
Может кто-нибудь помочь мне? Спасибо!