Foros del Web » Programando para Internet » Javascript »

Valor Checkbox

Estas en el tema de Valor Checkbox en el foro de Javascript en Foros del Web. Hola a todos. ¿Como puedo poner el value de un campo de texto en el value de un checkbox? Tengo una serie de filas con ...
  #1 (permalink)  
Antiguo 18/08/2009, 02:18
 
Fecha de Ingreso: enero-2009
Mensajes: 42
Antigüedad: 15 años, 9 meses
Puntos: 0
Valor Checkbox

Hola a todos.
¿Como puedo poner el value de un campo de texto en el value de un checkbox?
Tengo una serie de filas con sus correspondientes cuadritos de checkbox y sus campos de texto y quiero que se envíe a otra página solo el campo de texto del checkbox seleccionado.

Un saludo y muchas gracias.
  #2 (permalink)  
Antiguo 18/08/2009, 05:10
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 10 meses
Puntos: 126
Respuesta: Valor Checkbox

Hola

Podría ser algo como esto, no lo he probado

Supongamos que este es el formulario

Código html:
Ver original
  1. <input type="text" id="txt_1" value="" /> <input type="checkbox" id="chb" value="1" onClick="funcion (this.id);"/><br>
  2. <input type="text" id="txt_2" value="" /> <input type="checkbox" id="chb" value="2" onClick="funcion (this.id);"/><br>
  3. <input type="text" id="txt_3" value="" /> <input type="checkbox" id="chb" value="3" onClick="funcion (this.id);"/>
  4. </form>

Código javascript:
Ver original
  1. function funcion (c) {
  2. var b = document.getElementById(c);
  3. if (b.checked);
  4. b.value = document.getElemtById("txt"+c).value;
  5. }

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 18/08/2009, 09:02
Avatar de goyo_  
Fecha de Ingreso: agosto-2009
Mensajes: 91
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Valor Checkbox

Cita:
Iniciado por Adler Ver Mensaje
Hola

Podría ser algo como esto, no lo he probado

Supongamos que este es el formulario

Código html:
Ver original
  1. <input type="text" id="txt_1" value="" /> <input type="checkbox" id="chb" value="1" onClick="funcion (this.id);"/><br>
  2. <input type="text" id="txt_2" value="" /> <input type="checkbox" id="chb" value="2" onClick="funcion (this.id);"/><br>
  3. <input type="text" id="txt_3" value="" /> <input type="checkbox" id="chb" value="3" onClick="funcion (this.id);"/>
  4. </form>

Código javascript:
Ver original
  1. function funcion (c) {
  2. var b = document.getElementById(c);
  3. if (b.checked);
  4. b.value = document.getElemtById("txt"+c).value;
  5. }

Suerte
Creo que esta funcion esta destinada a fracasar ya que SIEMPRE estas pasando el mismo valor "chb" a la funcion: "funcion (this.id);". Fijate como los 3 checkboxes contienen la misma id. Talvez deberia ser "funcion (this.value);"?

Ademas creo que lo que pide es almacenar el valor del input:text al valor del checkbox, o me equivoco? Si es asi ocupara utilizar el onblur del input:text, o asignar los valores cuando la forma dispare su onsubmit.
  #4 (permalink)  
Antiguo 18/08/2009, 12:28
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 10 meses
Puntos: 126
Respuesta: Valor Checkbox

Cita:
Iniciado por goyo_ Ver Mensaje
Creo que esta funcion esta destinada a fracasar ya que SIEMPRE estas pasando el mismo valor "chb" a la funcion: "funcion (this.id);". Fijate como los 3 checkboxes contienen la misma id. Talvez deberia ser "funcion (this.value);"?

Ademas creo que lo que pide es almacenar el valor del input:text al valor del checkbox, o me equivoco? Si es asi ocupara utilizar el onblur del input:text, o asignar los valores cuando la forma dispare su onsubmit.
Bien por darte cuenta, habría que cambiar las id de los checkbox por (1,2,3) de tal manera que como argumento se le pasase su id, después se comprueba que este seleccionado, siempre lo estará y por último reescribimos el valor del checkbox. También habría que cambiar document.getElemtById("txt"+c).value; por document.getElemtById("txt_"+c).value;

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #5 (permalink)  
Antiguo 19/08/2009, 01:44
 
Fecha de Ingreso: enero-2009
Mensajes: 42
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Valor Checkbox

Muchas gracias goyo y Adler, pero creo que la opción de Adler me funcionaría, y me explico. El problema que tengo es que genero las líneas de checkbox con jsp y el id siempre es el mismo. Lo mismo me ocurre con el campo input, por lo que tengo que detectar una vez que se han generado las líneas (dependiendo del resultado de la consulta me genera un nº de líneas con sus correspondientes checkbox y campos input, pero siempre con el mismo id), cual de ellas está activada y pasarle el valor del campo texto.

Un saludo.
  #6 (permalink)  
Antiguo 19/08/2009, 03:25
 
Fecha de Ingreso: enero-2009
Mensajes: 42
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Valor Checkbox

He intentado hacer esto para después pasar como campo hidden el valor de la selección, pero no me funciona, me da el siguiente error [object+HTMLInputElement]. El campo hidden no coge el valor.

<script>
function funcion (c) {
var b = document.getElementById(c);
if (b.checked);
b.value = document.getElementById("txt").value;
document.getElementById("can").value=b;
}
</script>

<input type="hidden" name="can" id="can">

Si modifico la línea b.value = document.getElementById("txt").value; con b.value = document.getElementById("txt"+c).value;
no me pasa ningún valor

Un saludo.

Última edición por pinguinogil; 19/08/2009 a las 04:11
  #7 (permalink)  
Antiguo 19/08/2009, 06:04
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 10 meses
Puntos: 126
Respuesta: Valor Checkbox

Hola

Prueba con esto, a ver si es lo que buscas

Código javascript:
Ver original
  1. <html>
  2. <head>
  3. <script type="text/javascript">
  4. function funcion (cual) {
  5.  f = cual.form;
  6.  n = cual.name;
  7. for (var i = 0, nombres = f[n], total = nombres.length; i < total; i++)
  8. if (f[n][i] == cual)
  9. var b = f[n][i].value = f.txt[i].value;
  10. //alert(b);
  11. document.getElementById("can").value = b;
  12. }
  13. </script>
  14. </head>
  15. <body>
  16. <form>
  17. <input type="text" id="txt" value="" /> <input type="checkbox" name="chb" id="chb" value="a" onClick="funcion (this);"/><br />
  18. <input type="text" id="txt" value="" /> <input type="checkbox" name="chb" id="chb" value="2" onClick="funcion (this);"/><br />
  19. <input type="text" id="txt" value="" /> <input type="checkbox" name="chb" id="chb" value="3" onClick="funcion (this);"/><br />
  20. <input type="text" name="can" id="can"  value="">
  21. </form>
  22. </body>
  23. </html>

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #8 (permalink)  
Antiguo 19/08/2009, 09:25
 
Fecha de Ingreso: enero-2009
Mensajes: 42
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Valor Checkbox

Estoy desesperado, sigo sin conseguirlo. Introduzco una cantidad en el input y selecciono su correspondiente checkbox, pero no me pasa dicha cantidad a "can".

Sigo en ello.
  #9 (permalink)  
Antiguo 19/08/2009, 12:29
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 10 meses
Puntos: 126
Respuesta: Valor Checkbox

Cita:
Iniciado por pinguinogil Ver Mensaje
Estoy desesperado, sigo sin conseguirlo. Introduzco una cantidad en el input y selecciono su correspondiente checkbox, pero no me pasa dicha cantidad a "can".

Sigo en ello.
Qué extraño!!. El guión que te di en mi anterior post está probado en FF y IE8
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
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:47.