Tengo 3 scripts de AJAX en un solo index.php para enviar información a una base de datos mediante php, pero solo funcionan dos

Tengo 3 scripts de AJAX en un solo archivo index.php, para enviar información a una base de datos MySql mediante php, pero solo funcionan dos.

Primero, tengo un <select> conectado a la bd mediante un script de AJAX (Azul) para que la consulta sea instantanea y muestre los datos solicitados al elegir la opción en un <div> con el id de edit_form_div, en este caso muestra un <form> con los datos de la opción que se haya elegido en el <select>:

Este es el edit_user.php(Para editar usuarios, ósea update), aquí se encuentra el <form> que se muestra en el div con el id edit_form_div que esta en el index.php:

Ahora... Este script (Verde), es el que hace insert a la bd, y también funciona.

El script (Rojo), es el que no funciona, debería obtener los datos del <form> que esta en edit_user.php, pero cuando clickeo "Guardar cambios", solo se recarga la pagina y no hace nada, tampoco me dice nada en la "Console" de desarrollador de chrome u opera.

Todos funcionan excepto el que debería hacer update en la bd, es como si no tuviese el script(Rojo), por que ya lo intente directo al update_user.php y si funciona la consulta update.

Nota: ya intente con dos versiones de jquery, la 3.2.1 min y la 3.3.1 min.

Respuesta

Revisa los eventos que disparan las ejecuciones, tu botón puede estar disparando el submit del formulario, el elemento <form> requiere un action o un onsubmit, prueba a prevenir la ejecución.

<form onsubmit="return false">
  ...
<button id='subbtin_2' ....>Guardar Cambios</button>
</form>

2 respuestas más de otros expertos

Respuesta
1

En la segunda imagen, el <form> dice onsubmit, eso ya se lo había quitado, no me di cuenta que estaba ahí cuando tome la captura...

Respuesta

No se muy bien lo que te pasa, pero yo lo que haría en tu caso es:

1) Dejaría en el evento click del subbtn_2 solo el serialize y lo mostraría en consola con un :

var dats = $('edit_usr_post').serialize;
Console.log(dats);

para saber si recoge bien los datos del formulario.

2) Si los datos se recogen correctamente, está claro que se envían correctamente por el ajax, así que haría lo mismo para la respuesta con un console.log(res) en el success, para saber que me responde el servidor por si hay un problema con el tipo de dato o lo que sea.

Con una de estas dos deberías poder resolver el problema, aunque

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas