Estoy mostrando un formulario de asistente y, en algún momento, debo verificar si el valor de entrada del código de property_code ingresado coincide con algún registro en la base de datos. Esto se hace a través de una llamada de jQuery y AJAX, que responde con Valid o Invalid , en función de lo cual es posible que desee evitar que el usuario pueda pasar a la siguiente página del asistente.
Ahora, esta función es compatible con el smartwizard() y debería funcionar, pero parece haber un problema de jQuery al validar la respuesta AJAX. Veo que la respuesta es Invalid , pero el usuario aún puede pasar a la siguiente diapositiva, lo que sugiere que hay un problema al devolver true o false .
// Initialize the leaveStep event $("#smartwizard").on("leaveStep", function(e, anchorObject, stepIndex, nextStepIndex, stepDirection) { // console console.log('LeaveStep - CurrentStepIndex: ' + stepIndex); // Property Info - checks if property exists before leaving step 1 if (stepIndex == 1) { //check if property code already exists in system var property_code = $("#property_code").val(); console.log('Checking if property code "' + property_code + '" already exists in DB'); $.ajax({ type: 'POST', url: '../../controllers/hom_check_property_code.php', data: 'action=check_property_code&property_code=' + property_code, success: function(response) { console.log('Property check response: ' + response); if (response == 'Invalid') { console.log('Property code check failed'); return false; } else { console.log('Property code check passed'); return true; } }, error: function(xhr, status, error) { console.log('Ajax POST request failed.'); console.error(xhr); } }); } // navigate to next step console.log('Navigating from stepIndex ' + stepIndex + ' to ' + nextStepIndex + ', moving in stepDirection ' + stepDirection); return true; }); No soy bueno con jquery / JS, por lo tanto, agradecería si alguien pudiera explicarme dónde está el problema. Entiendo que devolver false debería detener el resto del script a partir de ese momento, por lo que no estoy seguro de lo que estoy haciendo mal aquí.
Gracias