Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] ajax con jquery

Estas en el tema de ajax con jquery en el foro de Jquery en Foros del Web. hola amigos. tengo una problema con jquery. buscando encontré una forma de enviar formularios sin que se recargue la pagina, pero no funciona del todo ...
  #1 (permalink)  
Antiguo 12/02/2014, 16:08
 
Fecha de Ingreso: septiembre-2013
Mensajes: 87
Antigüedad: 10 años, 7 meses
Puntos: 1
ajax con jquery

hola amigos. tengo una problema con jquery. buscando encontré una forma de enviar formularios sin que se recargue la pagina, pero no funciona del todo bien.
Por un lado tengo la base de datos con la tabla PRUEBA que tiene las filas id, nombre y apellido.
por otro lado tengo un archivo INSERTAR.PHP que se encarga de insertar datos en esta tabla de prueba
y por ultimo tengo un archivo INDEX.PHP que tiene el formulario que va a enviar los datos a INSERTAR.PHP mediante el metodo post.

la cosa es que cuando pongo un solo formulario no hay problema, funciona bien.
pero cuando pongo ese mismo formulario dentro de un while (porque necesito hacerlo), como el formulario aparece varias veces con todos los mismos id, el escript no sabe como diferenciarlos. entonces se insertan los registros pero redirecconando a la pagina INSERTAR.PHP, que es lo que no quiero que pase.

el formulario es este (recuerden que se repite xq esta dentro de un while, si esta solo funciona bien):

<form name="form1" method="post" action="insertar.php">
<input type="text" name="nombre" id="nombre">
<input type="text" name="apellido" id="apellido">
<input type="submit" name="enviar" id="enviar" value="enviar">
</form>

y el escript es este:

<script type="text/javascript">

var x;
x=$(document);
x.ready(inicio);

function inicio()
{
var x;
x=$("#enviar");
x.click(enviar);
}
function enviar()
{

var n=$("#nombre").attr("value");
var a=$("#apellido").attr("value");
$.ajax({
async:true,
type: "POST",
dataType: "html",
contentType: "application/x-www-form-urlencoded",
url:"/insertar.php",
data:{nombre:n,apellido:a}
});

return false;

}

</script>


Creo que la solucion está en enviarle algún atributo a las funciones, para que se diferencie un formulario de otro cunado se repiten, pero no se cómo hacerlo.
Agradezco muchisimo a quien me pueda ayudar.
  #2 (permalink)  
Antiguo 12/02/2014, 18:13
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: ajax con jquery

¿Y por qué necesitas utilizar un bucle para enviar los datos del formulario?. Quizá ahí esté el error.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 13/02/2014, 08:54
 
Fecha de Ingreso: septiembre-2013
Mensajes: 87
Antigüedad: 10 años, 7 meses
Puntos: 1
Respuesta: ajax con jquery

no. necesito el bucle xq quiero que el formulario se repita varias veces.hace de cuenta que el boton que dice ME GUSTO, GRACIAS que esta abajo de cada comentario se tiene que repetir con cada comentario. obviamente en cada comentario se envian valores diferentes a la base de datos.
  #4 (permalink)  
Antiguo 13/02/2014, 10:25
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: ajax con jquery

No le encuentro mucho sentido a eso de guardar un formulario en un bucle, dudo mucho que esta página lo haga así cuando alguien da un clic a "Me gustó, ¡gracias!", la información se manda a guardar una vez y listo, se envía un lote de información, no varios distribuidos en iteraciones de un bucle. Explícanos qué datos deseas guardar y cómo quieres que se guarden para poder orientarte mejor.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 13/02/2014, 11:27
 
Fecha de Ingreso: septiembre-2013
Mensajes: 87
Antigüedad: 10 años, 7 meses
Puntos: 1
Respuesta: ajax con jquery

Lo necesito para varias cosas. pero creo que no me entendiste lo del bucle. supone que el que creo esta pagina lo primero que hace es seleccionar de la base de datos las PREGUNTAS(TEMAS) que coincidan con la id 38.
Despues lo que hace es seleccionar todos los COMENTARIOS que pertenezcan a esta pregunta (de id 38). Para eso necesita un bucle while. te doy un ejemplo

$peticion_pregunta = mysqli_query($conexion,"SELECT * FROM preguntas where id = 38");


$peticion_comentario=mysqli_query($conexion,"SELEC T * FROM comentarios where id_pregunta = 38");

while ($fila = mysqli_fetch_array($peticion_comentario)){ ?>

<form name="form_gracias" id="form_gracias" method="post" action="insertar.php">

<input type="hidden" name="usuario" id="usuario" value"<?php echo $_SESSION['usuario']; ?>">
<input type="hidden" name="id_comentario" id="id_comentario" value"<?php echo $fila['id_comentario']; ?>">

<input type="submit" name="enviar" id="enviar" value="megusto_gracias">
</form>

<?php } ?>

Entonces este formulario se va a repetir tantas veces como comentarios haya. Si hy 5 comentarios va a aparecer 5 veces el formulario,entendes?
  #6 (permalink)  
Antiguo 13/02/2014, 12:35
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: ajax con jquery

Se entiende la idea, aunque nunca debes tener más de un elemento con el mismo Id pues el Id es precisamente el identificador del elemento, imagina si tuviera 20 elementos con el mismo Id y con una función en JavaScript, cambiara el valor del elemento que tiene dicho Id, el resultado sería que cambiaría el valor en todos los elementos que tengan ese Id y eso no está bien, para eso hay otros atributos identificadores como los nombres y las clases.

Ahora bien, lo que muestras es el resultado de una consulta de selección de datos, no de una inserción o actualización de los mismos, entonces, sería ideal que mostraras el algoritmo que elaboraste para insertar los datos en la BD para así poder ver el error que puedas estar cometiendo, pero imagino que lo que buscas es insertar comentarios en la BD y mostrarlos automáticamente en la página sin recargarla, entonces, si fuera así, bastaría con que guardes los datos del comentario realizado con una simple consulta:

Código MySQL:
Ver original
  1. INSERT INTO comentarios (id, comentario) VALUES ('32454', 'Hola Mundo')

Y luego añades el comentario ingresado a la página con el método append de jQuery:

Código Javascript:
Ver original
  1. var comentario = document.createElement("div");
  2. comentario.innerHTML = $("#inputComentario").val();
  3. $("#seccionComentarios").append(comentario);

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #7 (permalink)  
Antiguo 13/02/2014, 13:36
 
Fecha de Ingreso: septiembre-2013
Mensajes: 87
Antigüedad: 10 años, 7 meses
Puntos: 1
Respuesta: ajax con jquery

bueno,muchas gracias por la info alexis. es mas o menos eso lo que quiero hacer, y tambien otras cosas mas. pero basicamente funcionan de la misma manera. pero lo de insertar el comentario no me queda claro. o sea, yo lo inserto como pusiste ahi, pero ese codigo lo pongo en otra pagina llamada INSERTAR.PHP y al formulario le pongo la action="insertar.php." tal como puse arriba cuando les hice la pregunta.
hay alguna forma de poner el insert en la misma pagina en que esta el formulario para que no redireccione ni recargue la pagina? perdona que capaz es una pregunta estupida jajaja. muchas gracias por ayudarme!!

Última edición por martinpedulla; 13/02/2014 a las 14:06
  #8 (permalink)  
Antiguo 13/02/2014, 14:25
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: ajax con jquery

Para evitar que se realice la redirección, debes de prevenir el comportamiento natural del evento submit, el cual consiste en enviar los datos contenidos en el formulario hacia el archivo que se indique en el atributo action del mismo. Esto es posible mediante el método preventDefault, el cual trabaja así:

Código Javascript:
Ver original
  1. $("#form1").submit(function(event){
  2.     event.preventDefault(); //Aquí evito que se haga la redirección
  3.    
  4.     //Creo un Div dinámico que contendrá el comentario
  5.     var comentario = document.createElement("div");
  6.     comentario.innerHTML = $("#inputComentario").val();
  7.  
  8.     //Realizo la petición asíncrona
  9.     $.ajax({
  10.         url: $(this).prop("action"),
  11.         data: {nombre: $("#nombre").val(), apellido: $("#apellido").val()},
  12.         success: function(response){
  13.             //Inserto el nuevo comentario en la página
  14.             $("#seccionComentarios").append(comentario);
  15.         }
  16.     });
  17. });

Un pequeño ejemplo (sin base de datos): http://jsbin.com/lotic/1

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #9 (permalink)  
Antiguo 13/02/2014, 15:04
 
Fecha de Ingreso: septiembre-2013
Mensajes: 87
Antigüedad: 10 años, 7 meses
Puntos: 1
Respuesta: ajax con jquery

aaah, muchisimas gracias. y no hay alguna forma de que tenga que poner #form1, sino que se haga eso para todos los formularios. porque sino tengo el problema del ejemplo de antes de MEGUSTA GRACIAS. si hay 5 comentarios, hay tambien 5 Formularios: form 1, form 2, form3, form4, y form5. (cuantos mas comentarios, mas formularios que se repiten). yo puedo ponerles de id a los formularios un id ""dinamico"" para que no haya dos formularios con igual id.
pero en la primera linea de tu codigo, donde dice #form1, no hay alguna forma de hacer eso para todos los forms del sitio?o diferenciar un form1 de otro form 2 por ejemplo?
muchas gracias por tu ayuda che.
  #10 (permalink)  
Antiguo 13/02/2014, 15:06
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: ajax con jquery

Puedes darle una misma clase a todos los formularios, pues solamente ocurrirá el evento en el formulario en el que estés efectuando la operación.

Código HTML:
Ver original
  1. <form class = "comentarios">
  2.     <!-- Contenido -->
  3. </form>
  4.  
  5. <form class = "comentarios">
  6.     <!-- Contenido -->
  7. </form>
  8.  
  9. <form class = "comentarios">
  10.     <!-- Contenido -->
  11. </form>

Código Javascript:
Ver original
  1. $(".comentarios").submit(function(event){
  2.     //Instrucciones
  3. });

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #11 (permalink)  
Antiguo 13/02/2014, 15:17
 
Fecha de Ingreso: septiembre-2013
Mensajes: 87
Antigüedad: 10 años, 7 meses
Puntos: 1
Respuesta: ajax con jquery

amigo pero igual no me funciona de ninguna de las dos formas. ni con id ni con clase.
mira, estoy solamente probando que no redireccione un formulario. el codigo es este:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Documento sin título</title>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jqueryui.js"></script>
<script type="text/javascript">

$("#form1").submit(function(event){
event.preventDefault(); //Aquí evito que se haga la redirección

});
</script>
</head>

<body>
<form id="form1" action="b.php" class="clase">
<input type="text"><input type="submit">
</form>
</body>
</html>
  #12 (permalink)  
Antiguo 13/02/2014, 15:28
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: ajax con jquery

Los scripts debes de colocarlos justo antes de cerrar la etiqueta </body> y después del resto de elementos en el documento para que surtan efecto, pues debes tener en cuenta que en el documento, todo va cargando en orden, del modo en el que está ahora, primero cargan los scripts y luego el formulario, entonces, ese pequeño bloque de código que escribiste nunca surte efecto pues no se aplicó en un elemento existente.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #13 (permalink)  
Antiguo 13/02/2014, 15:29
 
Fecha de Ingreso: septiembre-2013
Mensajes: 87
Antigüedad: 10 años, 7 meses
Puntos: 1
Respuesta: ajax con jquery

tenes alguna idea de qué puede pasar?. estoy buscando en google sobre evitar redireccionamientos y no encuentro nada.
  #14 (permalink)  
Antiguo 13/02/2014, 15:33
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: ajax con jquery

¿Leíste lo que escribí en el mensaje anterior?
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #15 (permalink)  
Antiguo 13/02/2014, 15:34
 
Fecha de Ingreso: septiembre-2013
Mensajes: 87
Antigüedad: 10 años, 7 meses
Puntos: 1
Respuesta: ajax con jquery

grandeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee. muchisimas gracias!!!!!!!!!! muchas gracias por tu ayuda. jajaja creo que con esto nomas ya puedo seguir adelante. muchisimas gracias sos un kapo!!!!!!!!!
  #16 (permalink)  
Antiguo 13/02/2014, 15:36
 
Fecha de Ingreso: septiembre-2013
Mensajes: 87
Antigüedad: 10 años, 7 meses
Puntos: 1
Respuesta: ajax con jquery

perdoname. cuando puse lo de tenes alguna idea no habia leido lo ultimo que me escribiste.
  #17 (permalink)  
Antiguo 13/02/2014, 20:41
 
Fecha de Ingreso: septiembre-2013
Mensajes: 87
Antigüedad: 10 años, 7 meses
Puntos: 1
Respuesta: ajax con jquery

ALEXIIISS perdoname que te moleste devuelta. no se si soy yo el inepto o qué jajajja. mirá, hice la prueba:

index.php:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jqueryui.js"></script>

</head>

<body>
<form name="nombreform" id="form1" method="post" action="insertar.php" class="clase">
<input name="nombre" id = "nombre" type="text">
<input name="apellido" id = "apellido" type="text">
<input name="enviar" id="enviar" type="submit">
</form>


<script type="text/javascript">
$(".clase").submit(function(event){
event.preventDefault();
});
</script>

</body>
</html>


insertar.php:

<?php
$conexion = mysqli_connect("localhost","martinpedulla","contra _bd","bd");

if (!$conexion) { die('NO SE PUDO CONECTAR A LA BASE DE DATOS. ERROR: '.mysqli_error()); }

mysqli_select_db($conexion,"bd");

$nombre=$_POST['nombre'];
$apellido=$_POST['apellido'];

mysqli_query($conexion,"INSERT INTO prueba (nombre,apellido) VALUES ('$nombre','$apellido')");

mysqli_close($conexion);
?>

y no se inserta nada. si saco el script que me pasaste anda lo mas bien, pero si lo pongo no redirecciona ni envia los datos. tambien probe con get y no pasa nada. perdoname que te joda tanto jajaj hoy no te deje tranquilo en todo el dia.
pense que con eso ya andaria pero no!! :(
  #18 (permalink)  
Antiguo 13/02/2014, 21:29
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: ajax con jquery

Bueno, si el script está tal y como lo muestras, no se insertarán datos porque no los estás enviando, solamente estás evitando que se envíen los datos. Luego de event.preventDefault(), debes ejecutar el método Ajax para realizar la petición asíncrona y enviar los datos, tal y como te lo indiqué en uno de los mensajes anteriores.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #19 (permalink)  
Antiguo 14/02/2014, 08:33
 
Fecha de Ingreso: septiembre-2013
Mensajes: 87
Antigüedad: 10 años, 7 meses
Puntos: 1
Respuesta: ajax con jquery

Ah, esta bien. pero sigue sin enviarse nada. haber si lo sigo escribiendo mal?

Código HTML:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jqueryui.js"></script>
</head>

<body>
<form name="nombreform" id="form1" method="post" action="insertar.php" class="clase">
<input name="nombre" id = "nombre" type="text" value="">
<input name="apellido" id = "apellido" type="text" value="">
<input name="enviar" id="enviar" type="submit">
</form>



<script type="text/javascript">
$(".clase").submit(function(event){
    event.preventDefault(); //Aquí evito que se haga la redirección
    
   
    //Realizo la petición asíncrona
   
    $.ajax({
        url: $(this).prop("action"),
        data: {nombre: $("#nombre").val(), apellido: $("#apellido").val()},
       
    });
});
</script>
 
 
</body>
</html> 
  #20 (permalink)  
Antiguo 14/02/2014, 10:53
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: ajax con jquery

Sigue mal porque si bien estás enviando el dato, no indicas acciones cuando obtienes la respuesta del servidor. Hazlo así:

Código Javascript:
Ver original
  1. $(".clase").submit(function(event){
  2.     event.preventDefault();
  3.     $.ajax({
  4.         url: $(this).prop("action"),
  5.         type: "GET",
  6.         data: {nombre: $("#nombre").val(), apellido: $("#apellido").val()},
  7.         success: function(response){
  8.             alert("Los datos han sido enviados");
  9.         },
  10.         error: function(jqXHR, textStatus){
  11.             alert("Se produjo un error: " + textStatus);
  12.         }
  13.     });
  14. });

Y en el archivo insertar.php, debes recibir los valores así:

Código PHP:
Ver original
  1. $nombre = $_GET["nombre"];
  2. $apellido = $_GET["apellido"];

Ya teniendo los datos, puedes insertarlos en la BD sin problemas.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #21 (permalink)  
Antiguo 14/02/2014, 11:13
 
Fecha de Ingreso: septiembre-2013
Mensajes: 87
Antigüedad: 10 años, 7 meses
Puntos: 1
Respuesta: ajax con jquery

BIEN!AHORA SI SE ENVIAN. pero sigo con el problema anterior. si hay mas de un formulario, se inserta bien solo el primero, los demas se insertan vacios. aunque le cambio la id del formulario. mira:

Código HTML:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jqueryui.js"></script>
</head>

<body>
<form name="nombreform" id="form1" method="get" action="insertar.php" class="clase">
<input name="nombre" id = "nombre" type="text" value="">
<input name="apellido" id = "apellido" type="text" value="">
<input name="enviar" id="enviar" type="submit">
</form>

<form name="nombreform2" id="form2" method="get" action="insertar.php" class="clase">
<input name="nombre" id = "nombre" type="text" value="">
<input name="apellido" id = "apellido" type="text" value="">
<input name="enviar" id="enviar" type="submit">
</form>

<script type="text/javascript">
$(".clase").submit(function(event){
    event.preventDefault();
    $.ajax({
        url: $(this).prop("action"),
        type: "GET",
        data: {nombre: $("#nombre").val(), apellido: $("#apellido").val()},
        success: function(response){
            alert("Los datos han sido enviados");
        },
        error: function(jqXHR, textStatus){
            alert("Se produjo un error: " + textStatus);
        }
    });
});
</script>
 
 
</body>
</html> 
será por los id #nombre y #apellido? para que si al segundo formulario le pongo de id NOMBRE2 Y APELLIDO2 (a los id) entonces cómo haria para que el javascript los tome?
  #22 (permalink)  
Antiguo 14/02/2014, 11:36
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: ajax con jquery

Se insertan los valores de un solo formulario porque solamente envías la información de uno, no la de todos y creo que ese es tu error, que quieres insertar los datos de varios formularios a la vez cuando solamente necesitas insertar los de uno para así guardar el comentario en la BD y mostrarlo en pantalla. Lee lo que te escribí en las respuestas anteriores para que entiendas bien a lo que me refiero.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #23 (permalink)  
Antiguo 14/02/2014, 11:36
 
Fecha de Ingreso: septiembre-2013
Mensajes: 87
Antigüedad: 10 años, 7 meses
Puntos: 1
Respuesta: ajax con jquery

mira alexis. ahora lo cambie un poco y la cosa es que ahora si me inserta todos los formularios. la cosa es que a veces, hago click en un formulario y se insertan los datos de los dos formularios. mirá:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jqueryui.js"></script>
</head>

<body>
<form name="nombreform1" id="form1" method="get" action="insertar.php" class="clase">
<input name="nombre1" id = "nombre1" type="text" value="" class="nombre">
<input name="apellido1" id = "apellido1" type="text" value="" class="apellido">
<input name="enviar1" id="1" type="submit" onClick="mifuncion(this)">
</form>

<form name="nombreform2" id="form2" method="get" action="insertar.php" class="clase">
<input name="nombre2" id = "nombre2" type="text" value="" class="nombre">
<input name="apellido2" id = "apellido2" type="text" value="" class="apellido">
<input name="enviar2" id="2" type="submit" onClick="mifuncion(this)">
</form>

<script type="text/javascript">
function mifuncion(parametro) {

$(".clase").submit(function(event){
event.preventDefault();
$.ajax({
url: $(this).prop("action"),
type: "GET",
data: {nombre: $("#nombre"+parametro.id).val(), apellido: $("#apellido"+parametro.id).val()},
success: function(response){
alert("Los datos han sido enviados");
},
error: function(jqXHR, textStatus){
alert("Se produjo un error: " + textStatus);
}
});
});
}
</script>


</body>
</html>
  #24 (permalink)  
Antiguo 14/02/2014, 11:39
 
Fecha de Ingreso: septiembre-2013
Mensajes: 87
Antigüedad: 10 años, 7 meses
Puntos: 1
Respuesta: ajax con jquery

recien leo lo que escribiste arriba. entiendo lo que me queres decir, pero no es que yo quiera enviar varios formularios a la vez. es solo que tengo varios formularios en una pagina, y quiero enviar uno solo, pero ese que quiero enviar puede ser cualquiera de los que me aparecen en la pagina.
  #25 (permalink)  
Antiguo 14/02/2014, 11:47
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: ajax con jquery

Pero no hay problema, ya viste que cuando le das clic al botón de uno de los formularios, solamente se envían los datos de ese formulario, pero si quieres evitar conflictos, puedes hacerlo así:

Código Javascript:
Ver original
  1. $(".clase").submit(function(event){
  2.     event.preventDefault();
  3.  
  4.     //Solamente tomo los valores de las cajas que pertenezcan a este formulario
  5.     var nombre = $(this).find("#nombre").val(),
  6.         apellido = $(this).find("#apellido").val();
  7.  
  8.     $.ajax({
  9.         url: $(this).prop("action"),
  10.         type: "GET",
  11.         data: {nombre: nombre, apellido: apellido},
  12.         success: function(response){
  13.             alert("Los datos han sido enviados");
  14.         },
  15.         error: function(jqXHR, textStatus){
  16.             alert("Se produjo un error: " + textStatus);
  17.         }
  18.     });
  19. });

De este modo, solamente se toman los valores de las cajas "nombre" y "apellido" que pertenezcan al formulario que acaba de ser enviado.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #26 (permalink)  
Antiguo 14/02/2014, 12:02
 
Fecha de Ingreso: septiembre-2013
Mensajes: 87
Antigüedad: 10 años, 7 meses
Puntos: 1
Respuesta: ajax con jquery

ooooooooooohhhhhhhhhhhh ahora si que siiiiiiiiiiiiiiiiiii!!!!!!!
por fin!!!!! funciona al la perfeccion!!!!!! igual le cambie el get por post xq me gusta mas jejej. funciona re bien!!!!! muchas gracias amigo por haberme bancado desde ayer. ya me estaba desiluconando. de verdad no sabes cuanto te agradesco!!!! suerte amigazo!!!
  #27 (permalink)  
Antiguo 14/02/2014, 12:11
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: ajax con jquery

No olvides marcar el tema como solucionado para que otras personas que tengan el mismo problema que tuviste al inicio, sepan que aquí pueden encontrar una solución.
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #28 (permalink)  
Antiguo 14/02/2014, 12:13
 
Fecha de Ingreso: septiembre-2013
Mensajes: 87
Antigüedad: 10 años, 7 meses
Puntos: 1
Respuesta: ajax con jquery

ahhh, esta bien. gracias!
  #29 (permalink)  
Antiguo 17/08/2014, 07:52
 
Fecha de Ingreso: agosto-2014
Mensajes: 1
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: ajax con jquery

hola amigo tengo el mismo problema me podrías ayudar pasándome el código fuente de como solucionaste tu problema porfa man es de vida o muerte :/

Etiquetas: ajax
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 17:11.