Foros del Web » Programando para Internet » Javascript »

Referencia a un input en una cadena a mostrar con write

Estas en el tema de Referencia a un input en una cadena a mostrar con write en el foro de Javascript en Foros del Web. Hola buenas: A ver si consigo explicarme bien. Tengo este código que forma parte de una función donde se muestra el contenido de un carrito ...
  #1 (permalink)  
Antiguo 17/07/2006, 10:09
 
Fecha de Ingreso: noviembre-2005
Mensajes: 312
Antigüedad: 18 años, 5 meses
Puntos: 1
Referencia a un input en una cadena a mostrar con write

Hola buenas:

A ver si consigo explicarme bien. Tengo este código que forma parte de una función donde se muestra el contenido de un carrito y donde se permite al usuario modificar la cantidad comprada de un producto. strOutput es la cadena de caracteres que se va concatenando para luego mostrar todo con la función write.

...
strOutput += "<TD CLASS=\"nopentry\"><INPUT TYPE=TEXT NAME=Q ID=Q SIZE=2 VALUE=\"" + fields[1] + "\"> <INPUT TYPE=\"button\" value=\"Actualizar\" onclick=\"ChangeQuantity("+i+", Q.value);\"></TD>";
...

Para ello uso un input sin formulario con el nombre "Q", con fields[1] muestro la cantidad del producto hasta ahora comprada (usando cookies) y al pulsar en el botón actualizar quiero pasar la línea o posición del producto en el carrito y pretendo pasar el valor de Q, pero resulta que no sale bien. En la función ChangeQuantity compruebo con isNaN si el valor pasado es numérico pero siempre que intento cambiar el valor del input me da error como si el valor no fuese numérico. Querría saber cual podría ser el problema, el tipo de datos que se pasa, la referencia al input... Supongo que es el tipo de dato que se maneja pero no entiendo por qué da error. Espero que podais orientarme.

Un saludo
  #2 (permalink)  
Antiguo 17/07/2006, 10:19
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

Para que valga Q.value tiene que ser parte de un formulario... Si es así, procura poner los atributos con minúsculas.

Si no fuera parte del formulario deberías usar getElementById()

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 17/07/2006, 11:15
 
Fecha de Ingreso: noviembre-2005
Mensajes: 312
Antigüedad: 18 años, 5 meses
Puntos: 1
Hola caricatos.

Gracias por responder. Pues no, no hay formulario. Entonces, usando, getElementById(), ¿cómo sería? ¿hace falta indicar el "value" o simplemente con dicha función bastaría?. Voy a probar a ver.

Gracias.
  #4 (permalink)  
Antiguo 17/07/2006, 18:58
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

Sin formulario sería:
document.getElementById("Q").value

Y ya no sería nevesario el atributo name (aunque tampoco estorbe)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 18/07/2006, 04:51
 
Fecha de Ingreso: noviembre-2005
Mensajes: 312
Antigüedad: 18 años, 5 meses
Puntos: 1
Hola caricatos:

Perfecto!. Tuve que adaptarlo al código que tenía pero parece que ha salido bien.

Muchas gracias por la ayuda, me ha servido enormemente.
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 20:16.