QueryString y campo de texto

Hola,
Estoy intentando hacer el típico carrito de la compra.
En la página donde se lista los productos (está en una tabla), he puesto para cada producto (en cada fila de la tabla) un campo de texto donde el usuario introducirá el número de unidades que quiere comprar.
<input name="textfield1" type="text" id="textfield1" size="1">
En la misma fila para cada producto tengo un enlace ("añadir") en el que quiero pasar la cantidad.
Tengo un problema y es que no se cómo pasar el valor de la cantidad de un campo de texto mediante QueryString. El código (que no me funciona) es el siguiente:
<a href="anadir_prod_reg.asp?modelo=TravelMate+2300&cantidad='"&textfield1.value&"'">COMPRAR</a>

4 Respuestas

Respuesta
¿Qué problema tenés? ¿No te llega un valor? ¿No te llega ninguno?
Respuesta
1
No queda otra que usar algo de javascript, o sea, a través de javascript tomar el valor del campo
De texto, meterlo en un string compuesto por el URL y luego redireccionar a ese sitio.
Para esto habría que modificar ciertas cosas de la dinámica, es decir, podemos centralizar todo
El proceso con una función en vez de tener el código de la función para cada uno de los
Productos, lo que sería una pérdida de tiempo sin mencionar que generaría una importante demora
Al cargar la página.
La cosa sería así:
Podemos darle a los campos de texto como valor name, el modelo tipo TravelMate+2300 o bien crear
Un array que indique el nombre del campo de texto que corresponde al modelo lo que sería como una
Tabla:
Nombre | Modelo
-----------------------------
1 | TravelMate+2300
Todo esto para poder indicarle al javascript el campo de texto del cual tiene que tomar el valor
Para meter en el URL.
El método queda a criterio tuyo, yo voy a desarrollarlo por ambos caminos
Camino 1 (el modelo está almacenado en el valor name del campo de texto.)
Por ejemplo una linea del html:
<input type="text" name="TravelMate+2300"> <a href="Agregar(TravelMate+2300);">COMPRAR</a>
<script language="JavaScript">
Function Agregar(id){
cant= document.getElementsByName(id)
URL="anadir_prod_reg.asp?modelo=" + id + "&cantidad=" & + cant.value
location.href=URL;
}
</script>
Camino 2 (usamos el array)
<input type="text" name="textfield1"> <a href="Agregar(textfield1);">COMPRAR</a>
Creamos el array:
<script language="JavaScript">
var Array = new Array();
Array[1] = "TravelMate+2300";
// Aquí se definirían los valores para todos los productos.
Function Agregar(text){
cant=document.getElementsByName(text)
n=text.length;
b=text.charAt(n);
b=parseInt(b);
URL="anadir_prod_reg.asp?modelo=" + Array + "&cantidad=" & + cant.value
location.href=URL;
}
</script>
Respuesta
1
Lo que debes hacer es poner todo dentro de un formulario con un method que se llama post y enviar con el nombre de la página los valores y los mismos se pasan en la otra página los recivis con el método querystring..
Cualquier duda o consulta
Avisame
Respuesta
1
No se puede operar dentro de un atributo de HTML. Lo mejor es que te hagas una función y le pases el valor. Por ejemplo:
<script language=javascript>
function salta(param)
{
self.location.href="anadir_prod_reg.asp?modelo=TravelMate+2300&cantidad="+param
}
</script>
Y luego:
<a href="#" onclick="salta(textfield1.value);return false">COMPRAR</a>

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas