Foros del Web » Programando para Internet » Javascript »

S.O.S. pasar valor de un radio a un input text

Estas en el tema de S.O.S. pasar valor de un radio a un input text en el foro de Javascript en Foros del Web. Hola eh estado intentando trabajar con botones de radio ya intente muchas formas de pasar el valor a un documento javascript y todas fueron sin ...
  #1 (permalink)  
Antiguo 18/12/2009, 13:00
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 14 años, 9 meses
Puntos: 0
S.O.S. pasar valor de un radio a un input text

Hola eh estado intentando trabajar con botones de radio ya intente muchas formas de pasar el valor a un documento javascript y todas fueron sin exito, busque otra opcion y era pasar el valor de los botones a un input de texto, ahora el problema es que:

tengo dos grupos de radio boton, y la seleccion de uno esta ligado al otro, osea...
que si seleccionan un boton de grupo A, entonces se selecciona en automatico un boton del grupo B y asi, todos los botones estan ligados, .. bueno encontre una funcion de pasar el valor a un input text, pero resulta que con la dimamica que esta no me funciona muy bien por que me manda un valor indefinido.

bueno dejo el codigo y ojala algun experto lo pueda analizar mejor y darme una respuesta ya que esto me tiene bastante alterado

saludos y gracias de antemano.

Código HTML:
Ver original
  1. <script type="text/javascript">
  2.  
  3. function foco1A(){
  4. var chek = document.getElementById("FO1A")
  5.     if (chek.checked == true) {
  6.         document.getElementById("FV1A").checked = true;
  7.     }else{
  8.         document.getElementById("FV1A").checked = false;
  9.     }
  10. }
  11.  
  12. function foco2A(){
  13. var chek = document.getElementById("FO2A")
  14.     if (chek.checked == true) {
  15.         document.getElementById("FV2A").checked = true;
  16.     }else{
  17.         document.getElementById("FV2A").checked = false;
  18.     }
  19. }
  20.  
  21. function check1(opcion,valor) {
  22.     document.getElementById("opcion1A").value=opcion;
  23.     document.getElementById("valor1A").value=valor;
  24. }
  25.  
  26. </head>
  27.  
  28. <input type="radio" name="opcionA" id="FO1A" value="COI" onClick="foco1A();check1(this.value)" /> concepto1<br />
  29. <input type="radio" name="valorA" id="FV1A" value="1.00" onFocus="check1(this.value)" disabled />1<br />
  30. <input type="radio" name="opcionA" id="FO2A" value="SEG" onClick="foco2A();check1(this.value)" /> concepto2<br />
  31. <input type="radio" name="valorA" id="FV2A" value="2.00" onFocus="check1(this.value)" disabled />2<br />
  32.  
  33. <input type="text" id="opcion1A" disabled />
  34. <input type="text" id="valor1A" disabled />
  35. </form>
  36.  
  37. </body>
  38. </html>
  #2 (permalink)  
Antiguo 18/12/2009, 14:22
 
Fecha de Ingreso: junio-2008
Mensajes: 24
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: S.O.S. pasar valor de un radio a un input text

hola, ve tu funcion check1(opcion,valor), recibe 2 parametros y siempre la llamas con un solo valor check1(this.value).

Ademas no creo que el onblur llame a check1, ya que su cheq se activa por javascript, no por efecto de un evento del navegador.
  #3 (permalink)  
Antiguo 18/12/2009, 14:37
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: S.O.S. pasar valor de un radio a un input text

hOLA SI LO QUE PASA ES QUE TRATE HACIENDOLO CON DOS FUNCIONES INDEPENDIENTES OSEA:

Código Javascript:
Ver original
  1. function check1(opcion) {
  2.     document.getElementById("opcion1A").value=opcion;
  3. }
  4.  
  5. function check2(valor) {
  6.     document.getElementById("valor1A").value=valor;
  7. }

PERO NO ME PASABA NADA AL INPUT valor1A, POR QUE NO ERA PRESIONADO NINGUN RADIO DE ESE GRUPO, SINO QUE SE ACTIVABA DE FORMA DINAMICA, ENTONCES EL PARAMETRO ONCLICK NO APLICABA (O ALMENOS ESO PIENSO YO)
  #4 (permalink)  
Antiguo 18/12/2009, 14:55
 
Fecha de Ingreso: junio-2008
Mensajes: 24
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: S.O.S. pasar valor de un radio a un input text

eso es, el onblur que pones se gatilla con un evento de usuario, el javascript no lo hace gatillar.... mejor haz algo asi:

Código HTML:
<script type="text/javascript">
function foco(num)
{
  total_de_opciones = 2;
  for(i=1;i<=total_de_opciones;i++)
  {
      aux1 = "FO"+num+"A";
      aux2 = "FV"+num+"A";
      aux3 = "opcion"+num+"A";
      aux4 = "valor"+num+"A";
      var chek = document.getElementById(aux1);
      if (chek.checked == true) 
      {
        document.getElementById(aux2).checked = true;  
        document.getElementById(aux3).value= document.getElementById(aux1).value;  
        document.getElementById(aux4).value = document.getElementById(aux2).value;  
      }else
      {
        document.getElementById(aux2).checked = false;      
      }
  }
}
</script>

<input type="radio" name="opcionA" id="FO1A" value="COI" onClick="foco(1);" /> concepto1<br />
<input type="radio" name="valorA" id="FV1A" value="1.00" disabled />1<br />
<input type="radio" name="opcionA" id="FO2A" value="SEG" onClick="foco(2); /> concepto2<br />
<input type="radio" name="valorA" id="FV2A" value="2.00"disabled />2<br />
<input type="text" id="opcion1A" disabled />
<input type="text" id="valor1A" disabled /> 

Última edición por AndrewFace; 18/12/2009 a las 15:11
  #5 (permalink)  
Antiguo 18/12/2009, 15:02
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: S.O.S. pasar valor de un radio a un input text

mmm.... creo que es el mismo codigo del primer mensaje, o disculpa es que no lo veo ¿cual seria el cambio?

saludos.
  #6 (permalink)  
Antiguo 18/12/2009, 15:45
 
Fecha de Ingreso: junio-2008
Mensajes: 24
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: S.O.S. pasar valor de un radio a un input text

la diferencia es que esd mas generico, y puedes poner cualquier numero de opciones:
FV1A, FV2A, FV3A...etc
FO1A,FO2A, Fv3A..etc
  #7 (permalink)  
Antiguo 18/12/2009, 16:45
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: S.O.S. pasar valor de un radio a un input text

Bueno si me recoge los valores del primer radio, pero al seleccionar el segundo no devuelve nada =s
  #8 (permalink)  
Antiguo 18/12/2009, 18:02
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: S.O.S. pasar valor de un radio a un input text

estudia detenidamente el ejemplo.
Código:
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
<html xmlns='http://www.w3.org/1999/xhtml'><head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Test Development</title>
<script type='text/javascript'>
function bindGroup(master, fields){
var name = master.name, binded = [], item;
for(var i = 0; item = this[name][i]; i++) if(item === master) break;
for(var j = 0; fields[j]; j++){
this[fields[j]][i].checked = true;
binded.push(this[fields[j]][i]);
}
return binded;
} // bindGroup;

function setValuesEvent(evt){
var elem = evt.target || evt.srcElement;
if(!/^input$/i.test(elem.nodeName) || !/^radio$/i.test(elem.type))return;
var group = bindGroup.call(this, elem, ['group1', 'group2', 'group3']);
this.g1.value = group[0].value;
this.g2.value = group[1].value;
this.g3.value = group[2].value;
}
</script>
<style type='text/css'>

</style>
</head>

<body>
<form>
<div onclick="setValuesEvent.call(this.parentNode, event)">
<p>Group 1<br />
<input type="radio" name="group1" value="G1O1" /> Option 1
<input type="radio" name="group1" value="G1O2" /> Option 2
<input type="radio" name="group1" value="G1O3" /> Option 3
<input type="radio" name="group1" value="G1O4" /> Option 4</p>

<p>Group 2<br />
<input type="radio" name="group2" value="G2O1" /> Option 1
<input type="radio" name="group2" value="G2O2" /> Option 2
<input type="radio" name="group2" value="G2O3" /> Option 3
<input type="radio" name="group2" value="G2O4" /> Option 4</p>

<p>Group 3<br />
<input type="radio" name="group3" value="G3O1" /> Option 1
<input type="radio" name="group3" value="G3O2" /> Option 2
<input type="radio" name="group3" value="G3O3" /> Option 3
<input type="radio" name="group3" value="G3O4" /> Option 4</p>
</div>
<input type="text" name="g1" disabled />
<input type="text" name="g2" disabled />
<input type="text" name="g3" disabled />
</form>
</body></html>
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
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 07:33.