JavaScript - Problema al enviar un formulario con JavaScript

 
Vista:
Imágen de perfil de Xavi
Val: 4
Ha disminuido su posición en 24 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Problema al enviar un formulario con JavaScript

Publicado por Xavi (2 intervenciones) el 23/08/2019 18:38:21
Buenas tardes, no tengo conocimiento alguno en Java por lo que navegando en la web conseguí un script que me permite enviar los valores de un formulario a una página donde los recibo y los proceso en mi base de datos.

Hasta ahí todo bien, el script funciona, envío los datos y los recibo sin actualizar la página que es la razón por la cual lo utilizo.

El script tiene la función de dar un mensaje de registro procesado o registro no procesado según sea el caso.

Lo utilizo en dos formularios distintos, en uno de los formularios, aunque envía los datos y puedo recibirlos, me da el mensaje de registro no procesado y en el otro formulario aunque también hace el envío de los datos y también puedo recibirlos, no me da ningún mensaje.

Y ese es el problema que tengo con el script, necesito que me de los mensajes adecuados que es una de los motivos por el que lo utilizo.

Si alguien me puede ayudar a solucionar esto de antemano agradezco su colaboración, el script es el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<script type="text/javascript">
	$(document).ready(function(){
		$('#mybutton').click(function(){
			var datos=$('#myform').serialize();
			$.ajax({
				type:"POST",
				url:"modificar.php?id=<?php echo $row['config_id']; ?>",
				data:datos,
				success:function(r){
					if(r==1){
						bootbox.alert({
            message:'Registro procesado',
            });
					}else{
            bootbox.alert({
            message:'Registro no procesado',
            });
					}
				}
			});
			return false;
		});
	});
</script>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Problema al enviar un formulario con JavaScript

Publicado por Juan Francisco (1 intervención) el 24/08/2019 12:22:29
El script es una peticon ajax con jquery ,cuando carga el tu página , tienes un lisenert en el boton cuando hace click recuperas los datos que hallan en el formulario y haces una peticón por POST a modificar.php?id=<?php echo $row['config_id']; ?> pero es raro por que le estas indicando que le pasas cosas por GET pero los datos del formulario los pasas por POST , eso en tu archivo php sabras como lo recuperas , despues tienes el succes , cuando tu archivo modificar.php halla terminado de procesar los datos se supone que enviara una respuesta el 1 muestra el mensaje de datos procesado y lo que no sea uno sera el otro mensaje .
No se cuando te interesa pasarle el id a tu archivo d=<?php echo $row['config_id'], pero si necesitas pasarle eso por la url es mejor utilizar el PUT , el cual puedes pasar datos por url y en cuerpo de la petición.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
let data = {"key":"value"}
 
$.ajax({
    type: 'PUT',
    url: 'http://example.com/api',
    contentType: 'application/json',
    data: JSON.stringify(data), // access in body
}).done(function () {
    console.log('SUCCESS');
}).fail(function (msg) {
    console.log('FAIL');
}).always(function (msg) {
    console.log('ALWAYS');
});

esto es un ejemplo sencillo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Xavi
Val: 4
Ha disminuido su posición en 24 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Problema al enviar un formulario con JavaScript

Publicado por Xavi (2 intervenciones) el 24/08/2019 22:47:48
Buenas tardes Juan Francisco gracias por tu ayuda, sabes, pude solucionar el problema de envío de formulario con un iframe oculto pero ahora tengo otro problema y también es de scripts.

Quiero mostrar los mensajes de sucesos en pantalla pero se me muestran dentro de iframe así que la única manera posible es a través de alert para lo cual, antes yo usaba un script con el que podía personalizarlos pero ya no me funcionan, solo me funciona este script que es el de alert standard:

1
2
3
4
5
6
7
8
9
10
echo "<script>
    alert('Registro exitoso');
    window.location= 'index.php'
  </script>";
}{
echo "<script>
    alert('Error en registro');
    window.location= 'index.php'
  </script>";
}

He intentado de todo lo que está dentro de mis conocimientos y no puedo adaptar alguno de estos: http://bootboxjs.com/examples.html y https://sweetalert2.github.io a pesar de que antes de hacer el iframe, si me funcionaban. Si tienes idea de como solucionar eso te estaré muy agradecido, llevo desde esta mañana intentando hacerlo y no he podido. Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar