Foros del Web » Programando para Internet » Javascript »

Como recibo un arreglo

Estas en el tema de Como recibo un arreglo en el foro de Javascript en Foros del Web. Hola!!, desde ya gracias por su atención y ayuda. Tengo un formulario con dos campos de tipo texto que tienen la función de arreglos de ...
  #1 (permalink)  
Antiguo 19/05/2009, 18:11
 
Fecha de Ingreso: marzo-2002
Mensajes: 299
Antigüedad: 22 años, 2 meses
Puntos: 1
Como recibo un arreglo

Hola!!, desde ya gracias por su atención y ayuda.

Tengo un formulario con dos campos de tipo texto que tienen la función de arreglos de la siguiente forma:

<input type="text" name="producto[]" >
<input type="text" name="cantidad[]" size="2">

y estos datos los envio a una función en javascript, upss mejor dicho quiero enviarlos a una función pero no sé cómo hacerlo y sobre todo ya en la función como los recibo y manipulo.

Gracias por su ayuda!!
  #2 (permalink)  
Antiguo 19/05/2009, 20:11
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: Como recibo un arreglo

puedes usar document.getElementsByName(), eso te devolverá un array con todos los elementos que tengan el nombre que le pases por parámetro a la función. Una vez tengas los elementos los puedes manipular normalmente.
__________________
twitter: @imbuzu
  #3 (permalink)  
Antiguo 20/05/2009, 08:44
 
Fecha de Ingreso: marzo-2002
Mensajes: 299
Antigüedad: 22 años, 2 meses
Puntos: 1
Respuesta: Como recibo un arreglo

Gracias!!,

Dentro de javascriopt estoy haciendo lo siguiente

var productos=new Array();
productos = document.getElementsByName(cantidad[]);
alert (productos.length);

pero me marca error de sintaxis, creo que no se debe definir cantidad así cantida[], ¿Cuál es la forma correcta?, en html así está definido <input type="text" name="cantidad[]">
  #4 (permalink)  
Antiguo 20/05/2009, 08:49
 
Fecha de Ingreso: marzo-2002
Mensajes: 299
Antigüedad: 22 años, 2 meses
Puntos: 1
Respuesta: Como recibo un arreglo

ah!!, ok

Me faltaban comillas, quedando así

productos = document.getElementsByName("cantidad[]");
  #5 (permalink)  
Antiguo 20/05/2009, 15:07
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: Como recibo un arreglo

bueno, y te funcionó?
__________________
twitter: @imbuzu
  #6 (permalink)  
Antiguo 22/05/2009, 08:37
 
Fecha de Ingreso: marzo-2002
Mensajes: 299
Antigüedad: 22 años, 2 meses
Puntos: 1
Respuesta: Como recibo un arreglo

Gracias buzu,

Si si funcionó ahora estoy atorada en otro punto, ahora requiero saber como enviar ese arreglo a php, estoy usando ajax, y no sé como enviar ese arreglo a mi pagina php, en la línea correspondiente a donde cargo la page php tengo lo siguiente:

ajax.open("GET", "agregarcarro.php?producto="+productos_nombre+"&ca ntidad="+productos_cantidad, true);

mis arreglos son: productos_nombre y productos_cantidad.

Buen día (Y)
  #7 (permalink)  
Antiguo 22/05/2009, 13:24
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: Como recibo un arreglo

es que para enviar datos mediante ajax necesitas especificarle al objeto que estas enviando datos:
Código javascript:
Ver original
  1. ajax.open("POST", "agregarcarro.php", true);
  2. ajax.setRequestHeader("Content-Type", "application/x-www=form-urlencoded);
  3. ajax.send("producto="+producto_nombre+"&cantidad="+productos_cantidad);

Espero que te sirva. Como vez se ha cmabiado el metodo de GET a POST, no es muy necesario, pero es recomendable, por lo que necesiotarás cambiar la forma en que recibes tus datos del otro lado.

Saludos.
__________________
twitter: @imbuzu
  #8 (permalink)  
Antiguo 25/05/2009, 12:46
 
Fecha de Ingreso: marzo-2002
Mensajes: 299
Antigüedad: 22 años, 2 meses
Puntos: 1
Respuesta: Como recibo un arreglo

Gracias buzu!!, y cómo accedo a esos parametros desde mi pagina php(agregarcarro.php), porque lo hago de la forma "normal", y no me muestra nada.

for ($i=0; $i<count($producto); $i++){
echo $producto[$i];
}

e igual intenté

for ($i=0; $i<count($_POST[producto]); $i++){
echo $_POST[producto[$i]];
}

Gracias!!
  #9 (permalink)  
Antiguo 25/05/2009, 14:09
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 17 años, 6 meses
Puntos: 122
Respuesta: Como recibo un arreglo

le faltan las comillas a producto.
Hazlo de esta manera:

$productos = $_POST['productos'];

y deja lo demás como lo tenías antes.

for ($i=0; $i<count($producto); $i++){
echo $producto[$i];
}
__________________
twitter: @imbuzu
  #10 (permalink)  
Antiguo 01/06/2009, 16:58
 
Fecha de Ingreso: marzo-2002
Mensajes: 299
Antigüedad: 22 años, 2 meses
Puntos: 1
Respuesta: Como recibo un arreglo

Gracias por tu atención y ayuda buzu, pero no logro ver los valores del arreglo que se envían de ajax a php, ya hice la corrección que indicas, no marca ningún error pero no veo ningún valor de los parametros (arreglos) que se están enviando.
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:44.