Foros del Web » Programando para Internet » Javascript »

post y get

Estas en el tema de post y get en el foro de Javascript en Foros del Web. Estoy haciendo un carrito de la compra y tengo un pequeño problema a la hora de recoger modificaciones en el carrito. Cuando muestro todos los ...
  #1 (permalink)  
Antiguo 09/06/2004, 04:59
 
Fecha de Ingreso: junio-2004
Mensajes: 283
Antigüedad: 20 años, 5 meses
Puntos: 0
post y get

Estoy haciendo un carrito de la compra y tengo un pequeño problema a la hora de recoger modificaciones en el carrito.

Cuando muestro todos los articulos que hay en el carrito con cantidades y precios, me gustaria que se pudiera cambiar la cantidad. Por eso en cantidad le he puesto un input text mostrando el valor actual pero pudiendose modificar, tipo asi

Cita:
<td width="60" align="center" class="tre12Negro"><input type="text" name="uni" SIZE=1 MAXLENGTH=1 value=<?=$productosCesta[$indice][3];?>></td>

Lo que quiero es enviar a modificar.php cambios que se puedan hacer en esta casilla. Lo he hecho asi:


Cita:
<a href="modificar.php?id=<?=$productosCesta[$indice][1];?>+uni=<?=$productosCesta[$indice][3];?>">Modificar</td>

Pero a la hora de recoger el nuevo valor en modificar.php me recoge el valor anterior, no el nuevo modificado. Si lo recojo con POST no me recoge nada

Como puedo solucionar esto?

Gracias por adelantado
  #2 (permalink)  
Antiguo 09/06/2004, 05:27
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 20 años, 6 meses
Puntos: 2
Tienes que usar get ya que los parametros se pasan por la url y el primer problema que veo en tu código es que deberías poner un & donde has puesto un + y aparte siempre le vas a enviar los datos originales ya que eso no se modifica por mucho que cambies el valor del input text.
lo mejor que puedes hacer es crear una funcion como esta en javascript:

function modificar(id){
var url="modificar.php?id="+id+"&uni="+document.forms[0].uni.value;
self.location.href=url;
}

y en en enlace poner esto:

<a href="javascript:void(0)" onclick="javascript:modificar(<?=$productosCesta[$indice][1]?>)">Modificar</a></td>
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #3 (permalink)  
Antiguo 09/06/2004, 06:09
 
Fecha de Ingreso: junio-2004
Mensajes: 283
Antigüedad: 20 años, 5 meses
Puntos: 0
Gracias por responder tan rapido..lo he provado de la manera q dices, y no me modifica el campo uni cuando lo recojo en "modificar.php" mediante _GET

No se que mas puedo hacer

Gracias otra vez
  #4 (permalink)  
Antiguo 09/06/2004, 06:21
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 20 años, 6 meses
Puntos: 2
Podrías poner el código entero por favor?
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #5 (permalink)  
Antiguo 09/06/2004, 07:01
 
Fecha de Ingreso: junio-2004
Mensajes: 283
Antigüedad: 20 años, 5 meses
Puntos: 0
Buenas, el código para el enlace y el javascript he usado los que has puesto.
En modificar.php capturo las dos variables asi:

$miRef=$_GET['id'];
$miCantidad=$_GET['uni'];
  #6 (permalink)  
Antiguo 09/06/2004, 08:00
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 20 años, 6 meses
Puntos: 2
que url te sale cuando le das al enlace?? que valor toma uni??
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #7 (permalink)  
Antiguo 09/06/2004, 12:38
 
Fecha de Ingreso: junio-2004
Mensajes: 283
Antigüedad: 20 años, 5 meses
Puntos: 0
uni en el enlace siempre me toma el valor de las unidades que ya tenia, no de las nuevas que he introducido.

Gracias por tu paciencia
  #8 (permalink)  
Antiguo 09/06/2004, 13:46
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 20 años, 6 meses
Puntos: 2
bufff, supongo que no tienes ningún hidden con el nombre "uni" al que le asignes el valor ¿verdad?. Es que lo único que se me ocurre es que tengas dos campos con el mismo nombre (uni)
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #9 (permalink)  
Antiguo 10/06/2004, 05:58
 
Fecha de Ingreso: junio-2004
Mensajes: 283
Antigüedad: 20 años, 5 meses
Puntos: 0
Buff llevo toda la mañana sin sacarlo

Iré por partes a ver:

Declaro la funcion modificar de javascript

Cita:
<SCRIPT language=javascript>

function modificar(id){
var url="modificar.php?id="+id+"&uni="+document.forms[0].uni.value";
self.location.href=url;
}

</SCRIPT>
Creo un campo de input para poder modificar el valor, que de momento toma el valor que ya tenia almacenado

Cita:
<td width="60" align="center" class="tre12Negro"><input type="text" name="uni" SIZE=1 MAXLENGTH=1 value=<?=$productosCesta[$indice][3];?>></td>
Creo un link a modificar

Cita:
<a href="javascript:void(0)" onclick="javascript:modificar(<?=$productosCesta[$indice][1]?>)">Modificar</a>
Creo que el problema esta en que no recoge el valor de "document.forms[0].uni.value"

Ya que las casillas de modificar se me crean siguiendo un bucle, y habra tantos forms como registros
Creo yo que puede ser esto, pero no se como modificarlo

Saludos
  #10 (permalink)  
Antiguo 10/06/2004, 07:54
Avatar de living  
Fecha de Ingreso: mayo-2004
Mensajes: 1.266
Antigüedad: 20 años, 6 meses
Puntos: 2
entiendo, bueno, supongo que será una errata pero en
var url="modificar.php?id="+id+"&uni="+document.forms[0].uni.value";
sobran las comillas del final.

Lo que tienes que hacer es los siguiente. Para el input text esto:

<input type="text" name="uni<?=$indice?>" SIZE=1 MAXLENGTH=1 value=<?=$productosCesta[$indice][3];?>>

En el enlace esto:

<a href="javascript:void(0)" onclick="javascript:modificar(<?=$productosCesta[$indice][1]?>,document.forms[0].uni<?=$indice?>.value)">Modificar</a>

y en la funcion esto:

function modificar(id,uni){
var url="modificar.php?id="+id+"&uni="+uni;
self.location.href=url;
}


Pero haz el bucle con los input text pero no con los form, es decir, que sea sólo haya un <form>
__________________
¿Te apasiona el mundo del guión? El portal del guión
  #11 (permalink)  
Antiguo 10/06/2004, 16:24
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Si están solventado el problema desde Javscript .. al foro de javascript muevo la pregunta ..

Un saludo,
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 18:46.