AJAX - Pasar valores sin utilizar input type = submit

 
Vista:
Imágen de perfil de MAS82
Val: 25
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

Pasar valores sin utilizar input type = submit

Publicado por MAS82 (9 intervenciones) el 01/03/2019 18:29:28
Hola a todos, quisiera por favor me ayuden a encontrar la forma de pasar datos sin utilizar submit es decir con input type = button, con la finalidad de que no se pierda su atributo active que permite mantener el botón activo después de hacer click . De antemano gracias
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
Imágen de perfil de txema
Val: 24
Ha disminuido 1 puesto en AJAX (en relación al último mes)
Gráfica de AJAX

Pasar valores sin utilizar input type = submit

Publicado por txema (6 intervenciones) el 02/03/2019 02:22:26
Hola MAS82:

Es muy abstracta tu pregunta sin ver nada de código.

Trataré de presentarte dos simulaciones (en ambas con JQuery):

1.- Enviar un <form> sin el elemento submit
1
2
3
4
5
6
7
8
9
10
<form metod="POST" acction="#" if="myform">
	<!-- Tu formulario standar -->
	<button type="button" id="submit_form" class="btn btn-sm  btn-success"><i class="fas fa-user-plus"> </i> Modificar </button>
</form>
 
<script>
	$("#submit_form").click(function() {
		$("#myform").submit();
	}
</script>

2.- Enviar datos vía Ajax (no requiere de <form> aunque puedes tenerlo dentro del mismo)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<input type="text" id="id_usuario" name="id_usuario" value="">
<input type="text" id="nombre" name="nombre" value="">
<button type="button" id="submit_datos" class="btn btn-sm  btn-success"><i class="fas fa-user-plus"> </i> Modificar </button>
 
<script>
$('#submit_datos').click(function () {
	EnviarElem = {
		id_usuario: $('#id_usuario').val(),
		nombre $('#nombre').val()
	};
	Enviar('enviar', EviarElem);
});
 
function Enviar(accion, evento) {
	// console.log(accion);  // enviar
	$.ajax({
		type: 'POST',
		url: '../enviar_usuarios.php?accion=' + accion,
		data: evento,
		success: function (msg) {
			if (msg) {
				alert('La operación fue realizada correctamente');
			}
		},
		error: function () {
				alert('La operación no tuvo éxito');
		}
	});
};
</script>

Confío que una de las dos formas cumplan tu propósito.
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
Imágen de perfil de MAS82
Val: 25
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

Pasar valores sin utilizar input type = submit

Publicado por MAS82 (9 intervenciones) el 02/03/2019 11:51:36
gracias por la respuesta, y disculpen por lo abstracto de la pregunta, realmente es un form estándar como lo llamaste; te lo muestro:

1
2
3
4
5
<form method = "post" action="mesas.php" name="formmesa1" >
 
<input type="button" class="active" value="Mesa1" name="mesas"></input>
 
</form>

siendo un input tipo button por la necesidad de mantenerlo activo una vez presionado; necesito que pase un valor al ejecutarlo para pode disponer de ese valor y guardarlo en la BD,

viendo el código anterior que enviaste y aclarando el poco conocimiento que tengo en ejax y en java en general. quisiera que me muestres donde es que se guarda el valor enviado y como puedo disponer de el y almacenarlo.
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
Imágen de perfil de txema
Val: 24
Ha disminuido 1 puesto en AJAX (en relación al último mes)
Gráfica de AJAX

Pasar valores sin utilizar input type = submit

Publicado por txema (6 intervenciones) el 02/03/2019 15:01:19
Ajax en sí no guarda los datos.

En el ejemplo propuesto, ajax envía los datos a ../enviar_usuarios.php?accion=' + accion que en este caso es ../enviar_usuarios.php?accion=enviar.

Deberás tener una página enviar_usuarios.php que a través del $_GET]['action] manipule los datos:
grabarlos en tu base de datos, crear un JSON o hacer cualquier cosa que nos permita PHP con los datos recibidos

De lo que muestras, el buton no tiene ID ni el form. (y no sé que pinta el <form method = "post" action="mesas.php" name="formmesa1">
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
Imágen de perfil de MAS82
Val: 25
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

Pasar valores sin utilizar input type = submit

Publicado por MAS82 (9 intervenciones) el 02/03/2019 18:21:12
no logro correr el código que me muestras lo tengo de esta forma:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<script>
$('#submit_datos').click(function () {
	EnviarElem = {
		id_usuario: $('#id_usuario').val(),
		nombre $('#nombre').val()
	};
	Enviar('enviar', EviarElem);
});
 
function Enviar(accion, evento) {
	// console.log(accion);  // enviar
	$.ajax({
		type: 'POST',
		url: 'button1.php?accion=' + accion,
		data: evento,
		success: function (msg) {
			if (msg) {
				alert('La operación fue realizada correctamente');
			}
		},
		error: function () {
				alert('La operación no tuvo éxito');
		}
	});
};
</script>
 
<form method="post"  >
		<input type="text" id="id_usuario" name="id_usuario" value="">
		<input type="text" id="nombre" name="nombre" value="">
		<button type="button" id="submit_datos" class="btn btn-sm  btn-success"><i class="fas fa-user-plus"> </i> Modificar </button>
	</form>
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
Imágen de perfil de txema
Val: 24
Ha disminuido 1 puesto en AJAX (en relación al último mes)
Gráfica de AJAX

Pasar valores sin utilizar input type = submit

Publicado por txema (6 intervenciones) el 02/03/2019 19:40:20
¿Y el código de button1.php?

¿Recibes uno de los dos alert? ¿Cuál de ellos?

Recuerda que en button1.php deberás recibir los datos si:
1
2
3
4
5
<?php
if (isset($_GET['accion']) && $_GET['accion'] == 'enviar'){
// Tu código para grabar o modificar los datos 
};
?>
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
Imágen de perfil de MAS82
Val: 25
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

Pasar valores sin utilizar input type = submit

Publicado por MAS82 (9 intervenciones) el 02/03/2019 22:57:39
recibo así:

1
2
$nombre= $_GET['nombres'];
$id_usuario($_GET['id_usuario']);

no recibo ningun alert
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
Imágen de perfil de txema
Val: 24
Ha disminuido 1 puesto en AJAX (en relación al último mes)
Gráfica de AJAX

Pasar valores sin utilizar input type = submit

Publicado por txema (6 intervenciones) el 02/03/2019 23:52:41
Es dificil solucionar tu tema cuando no me indicas tu código de button1.php

En Ajax le has dicho que te envíe los datos por type: 'POST',
¿ cómo puedes pedirle los datos como?
1
2
$nombre= $_GET['nombres'];
$id_usuario($_GET['id_usuario']);
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
Imágen de perfil de MAS82
Val: 25
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

Pasar valores sin utilizar input type = submit

Publicado por MAS82 (9 intervenciones) el 03/03/2019 00:24:56
Bitton1.php es la misma página donde está el form es decir lo redireccionó a la misa página y ya lo habia probado con post y get igual no pasa parámetros
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
Imágen de perfil de MAS82
Val: 25
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

Pasar valores sin utilizar input type = submit

Publicado por MAS82 (9 intervenciones) el 03/03/2019 00:38:06
conseguí este otro código en la web el cual si me logra pasar parámetros :

form y ajax
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<!DOCTYPE html>
<html lang="es">
  <head>
	<meta charset="UTF-8" />
   	<title> Acción onclick en js </title>
   	// Aquí esta la referencia a jquery
   	<script src="//code.jquery.com/jquery-1.11.2.min.js"></script>
	<script>
	$(document).on('ready',function(){
 
	  $('#btn-ingresar').click(function(){
		var url = "datos_login.php";
 
		$.ajax({
		   type: "POST",
		   url: url,
		   data: $("#formulario").serialize(),
		   success: function(data)
		   {
			 $('#resp').html(data);
		   }
		 });
	  });
	});
	</script>
  </head>
  <body>
	<form method="post" id="formulario">
		<input type="text" name="usuario" placeholder="Usuario" autofocus/>
		<input type="password" name="contrasena" placeholder="Contraseña"/>
		<input type="button" id="btn-ingresar" value="Ingresar" />
	</form>
	// Este div nos servirá para cachar la respuesta enviada 
	// por el backend en caso de que sea necesario.
	<div id="resp"></div>
  </body>
</html>

pagina.php

1
2
3
4
5
6
7
<?php
    $usuario = $_POST['usuario'];
    $contra  = $_POST['contrasena'];
 
    echo "tu usuario es: ".$usuario;
    echo "contraseña es: ".$contrsena;
?>


con este código logro pasar parámetros pero no consigo pasar el valor = "ingresar" del input Button
1
<input type="button" id="btn-ingresar" value="Ingresar" />
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
Imágen de perfil de txema
Val: 24
Ha disminuido 1 puesto en AJAX (en relación al último mes)
Gráfica de AJAX

Pasar valores sin utilizar input type = submit

Publicado por txema (6 intervenciones) el 03/03/2019 00:44:44
Felicitaciones

No sé si te has dado cuenta que $_GET y $_POST son cosas diferentes.

Si lo lograste, premio al que te lo solucionó
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
Imágen de perfil de MAS82
Val: 25
Ha mantenido su posición en AJAX (en relación al último mes)
Gráfica de AJAX

Pasar valores sin utilizar input type = submit

Publicado por MAS82 (9 intervenciones) el 03/03/2019 01:04:42
claro se lo que es get y post sino que estuve probando en el código que te mostré y no corregí al mostrarte, recibo con post y le idico ajax que me envie por post y tanbien probe con GET pero igual no me corre y la verdad es este ultimo código que baje de la web y te lo mostré solo para indicarte que si corre pero no me soluciona el problema ya que necesito específicamente solo pasar el valor del input button es decir "ingresar" y no lo logro. de todas formas te agradezco y tal vez hubiese alguien mas que pudiese ayudarme con el tema
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