Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

175
Visualizações
Mantenga los datos ingresados en el formulario html después de enviarlos con los datos guardados a través de AJAX

Tengo un formulario html:

 <form id="formfacility"> <input type="text" id="MyName"> <button type="button" id="btnCanxFormFacility">Cancel</button> <button type="submit" id="btnSubmitForm">Submit</button> </form>

luego en javascript tengo para el botón de enviar:

 $("[id^='btnSubmitForm']").click(function (evt) { evt.preventDefault(); var btnID = "#" + $(this).attr('id'); var formID = btnID.replace("btnSubmit", ""); console.log(btnID, formID); ProcessFormSubmit(formID, btnID); });

donde ProcessFormSubmit realiza la validación y guarda los datos a través de AJAX.

para btnCanxFormFacility, tengo

 $("#btnCanxFormFacility").click(function () { let hideandreset = false; let HasChanges = HasLocationDataChanged(); if (HasChanges) { if (confirm("Are you sure you want to cancel and lose your changes?")) { hideandreset = true; } } else { hideandreset = true; } if (hideandreset) { $('#FormFacility').trigger("reset"); $("#btnCanxFormFacility").prop("disabled", true); } });

Mi problema es que cuando se hace clic en btnCanxFormFacility, se eliminan todos los datos que se ingresaron en el formulario después de cargar la página. Normalmente, esto es lo que se supone que sucede con un reinicio de HTML y se resolvería mediante la publicación y recarga del formulario. Sin embargo, dado que estoy usando JavaScript y AJAX, no hay un viaje de ida y vuelta, por lo que el formulario cree que todas esas entradas son cambios y las borra.

¿Hay alguna manera fácil de decirle al navegador que no restablezca ninguno de los campos que se guardaron en la última ejecución de "btnSubmitForm"?

Tal vez no me expliqué claramente.

  1. Se muestra el formulario con datos de la BD.
  2. El usuario ingresa o cambia los datos mostrados.
  3. El usuario hace clic en enviar y todos los datos del formulario se validan y se envían a la base de datos mediante AJAX. El formulario NO se actualiza.
  4. El usuario vuelve a introducir o actualizar datos (lo sé, cierto).
  5. El usuario se da cuenta de que cometió un error, por lo que hace clic en cancelar para borrar sus entradas. El punto aquí debería ser solo borrar las entradas que han cambiado desde el último envío. Desafortunadamente, eso borra todo desde que se cargó la página. Sé que se supone que la cancelación de HTML debe hacer eso. Pero, cuando estamos lidiando con ajax, etc., ese proceso fuera del ciclo normal de solicitud/respuesta, debe haber una manera de lidiar con eso.

Gracias,

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

En su caso, puede agregar esto en el momento de ProcessFormSubmit , ya sea dentro de ProcessFormSubmit, por ejemplo, si esto ya tiene código para las entradas en bucle o antes/después.

La clave es:

 $(this_input).prop("defaultValue", $(this_input).val())
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda