Tengo este código en javascript/jquery que recibe información de un formulario con ID #account-save y está usando ajax ajax_send.submit(false, action, data, account_save); para enviar datos al servidor.
El siguiente código enviará correctamente los datos. Si los datos enviados contienen entradas no válidas, el código a continuación recibe un html que marca en rojo las entradas que contienen los datos no válidos.
(function($, undefined) { "use strict"; $(function() { $("#account-save").click(function(e) { var action = $(this).data('action') + '/edit'; var data = { 'form_data': $('#user-profile').serialize() } ajax_send.submit(false, action, data, account_save); }); }); function account_save(result = false) { if (result != false) { $('#user-profile').html(result.html); } } })(jQuery);El problema es que cuando corrijo las entradas no válidas y trato de enviarlas de nuevo, el código anterior no se ejecutará.
¿Hay alguien que tenga el mismo problema? Cualquier ayuda sería apreciada.
Creo que cuando su html se devuelve, reemplaza el nodo #account-save completo, lo que significa que esencialmente se ha eliminado del DOM en lo que respecta a su método .click .
Cambie su $(document).on('click', '#account-save', function(e) para hacer que sea vinculante tarde. De esta manera, sus oyentes de eventos pueden adjuntarse a los elementos agregados al DOM