Foros del Web » Programando para Internet » Javascript »

Problema con radio botones

Estas en el tema de Problema con radio botones en el foro de Javascript en Foros del Web. Hola d enuevo, hago esta nueva consulta por que no eh podido dar con la solucion al problema. Resulta que tengo varios grupos de radio ...
  #1 (permalink)  
Antiguo 14/08/2009, 12:30
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 14 años, 9 meses
Puntos: 0
Problema con radio botones

Hola d enuevo, hago esta nueva consulta por que no eh podido dar con la solucion al problema.

Resulta que tengo varios grupos de radio botones distribuidos en distintos formularios, pero dentro de un mismo documento.

este es el codigo que estoy manejando:

Código html:
Ver original
  1. <form name="sumar1" method="POST">
  2. <input id="turno" name="turno" value="Matutino" type="radio" onclick="darValor(this)"> Matutino<br /><input id="turno" name="turno" value="Vespertino" type="radio" onclick="darValor(this)"> Vespertino
  3. </form>
  4.  
  5.  
  6. <form name="sumar2" method="POST">
  7. <input id="turno2" name="turno2" value="Matutino" type="radio" onclick="darValor2(this)"> Matutino<br /><input id="turno2" name="turno2" value="Vespertino" type="radio" onclick="darValor2(this)"> Vespertino
  8. </form>

Código js:
Ver original
  1. function darValor(turno) {
  2.     if (turno.checked==true){  
  3.         document.getElementById('turno').value = turno.value;
  4.     }
  5. }
  6.  
  7. function darValor2(turno) {
  8.     if (turno.checked==true){  
  9.         document.getElementById('turno2').value = turno.value;
  10.     }
  11. }

Bueno resulta que en los dos casos se envian valores pero no coinciden con los valores seleccionados, las funciones por si solas si funcionan bien pero ya poniendo las dos se conflictuan, como corrijo esto?

DE ANTEMANO GRACIAS.
  #2 (permalink)  
Antiguo 14/08/2009, 12:43
Avatar de goyo_  
Fecha de Ingreso: agosto-2009
Mensajes: 91
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: Problema con radio botones

Dos elementos no pueden tener la misma id.
  #3 (permalink)  
Antiguo 14/08/2009, 12:49
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: Problema con radio botones

ademas de lo que anteriormente se te ha indicado. si bien comprendo tu situacion, tu lo que quieres es seleccionar la misma opcion de un formulario en otro. es decir, si se selecciono el radio matutino, en el otro formulario tambien se selecciona matutino. ¿correcto?
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #4 (permalink)  
Antiguo 14/08/2009, 12:50
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Problema con radio botones

hola goyo si lo se, pero eso les puse turno y turno2 y asi son llamados de document.getElementById, pero como puedo hacer para que funcione? incluso intente llamarlos por furmulario y nombre osea:

Código js:
Ver original
  1. function darValor(turno) {
  2.     if (turno.checked==true){  
  3.         document.sumar1.turno.value = turno.value;
  4.     }
  5. }
  6.  
  7. function darValor2(turno) {
  8.     if (turno.checked==true){  
  9.         document.sumar2.turno2.value = turno.value;
  10.     }
  11. }

pero tampoco me funciono, alguna otra funcion un while, for o algo para que me identifique el valor seleccionado de los radio botones? estoy abierto a ejemplos y comentarios, gracias.
  #5 (permalink)  
Antiguo 14/08/2009, 12:54
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: Problema con radio botones

claro, que cada grupo de radio tiene diferentes ID's. sin embargo, en un mismo grupo de radio tienes los mismos ID's. eso es lo que se esta tratando de decirte.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #6 (permalink)  
Antiguo 14/08/2009, 12:54
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Problema con radio botones

hola zerokilled, si eso pasa.
  #7 (permalink)  
Antiguo 14/08/2009, 12:56
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Problema con radio botones

bueno entonces como hago? dentro del mismo grupo le cambio el id a todos? o como, cual seria la sintaxis?
  #8 (permalink)  
Antiguo 14/08/2009, 13:54
Avatar de goyo_  
Fecha de Ingreso: agosto-2009
Mensajes: 91
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: Problema con radio botones

Cita:
Iniciado por tampon Ver Mensaje
bueno entonces como hago? dentro del mismo grupo le cambio el id a todos? o como, cual seria la sintaxis?
Una id debe ser unica en TODO el documento.

Tu codigo es muy confuso, por ejemplo, al ejecutar la siguiente linea

Código PHP:
document.getElementById('turno').value turno.value
Las dos propiedades "value" almacenan la misma informacion "Matutino", seria lo mismo que hacer lo siguiente:

Código PHP:
var ejemplo 'Matutino';
ejemplo 'Matutino'
Es redundante, haz logrado nada. Y si te referias a almacenar el boolean true en el elemento input, pues tambien es redundante por que eso se logra automaticamente sin intervencion del programador.
  #9 (permalink)  
Antiguo 14/08/2009, 16:06
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: Problema con radio botones

Cita:
Iniciado por tampon Ver Mensaje
hola zerokilled, si eso pasa.

bueno entonces como hago? dentro del mismo grupo le cambio el id a todos? o como, cual seria la sintaxis?
se me ocurren dos formas. una es utilizando el valor del radio y determinar cual de los radios, en otro grupo, contiene el mismo valor. la otra forma es utilizando la posicion del radio en el grupo y activar el mismo radio en el otro grupo con dicha posicion. sin embargo, en este metodo lo importante es que ambos grupos de radios tengan el mismo orden y la misma cantidad de radios.

el siguiente codigo utiliza la posicion del radio
Código:
// radio, el radio seleccionado; group, el grupo de radio con que va a operar;
function selectRadio(radio, group){
	for(var collection = radio.form[radio.name], i = 0; i < collection.length; i++){
	if(collection[i].checked){
	group[i].checked = true;
	break;
	}}
}
lo utilizas de la siguiente manera: el primer parametro es el radio seleccionado, y el segundo parametro es el grupo de radio del otro formulario.
Código:
<input type="radio" name="turno" onclick="selectRadio(this, document.sumar2.turno2);" />
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #10 (permalink)  
Antiguo 14/08/2009, 17:54
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Problema con radio botones

Hola zerokilled, gracias de nuevo por tu respuesta, lo intente, pero tampoco me funciono. y goyo_ si lo pense mejor y como tu dices es muy redundante, aveces cuando vas comenzando insertar lineas y codigo de mas y luego se te olvida quitar, eso me ah pasado.

por otra parte por que no se puede algo asi? var turno=document.getElementById("turno").checked.val ue; o almenos algo parecido que funciones yo ya lo intente y nada.
  #11 (permalink)  
Antiguo 14/08/2009, 21:27
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: Problema con radio botones

disculpame por no poderte ayudar correctamente pero me me tienes adivinando y tu consulta me tiene confuso. no comprendo que exactamente deseas hacer. acerca de tu pregunta sobre var turno=document.getElementById("turno").checked.val ue; no te funcionara porque los booleanos no tienen la propiedad value. es decir, checked devuelve un booleano, true o false segun este marcado el radio o no. por favor, explica que exactamente intentas lograr.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #12 (permalink)  
Antiguo 23/08/2009, 17:33
Avatar de tampon  
Fecha de Ingreso: julio-2009
Mensajes: 420
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Problema con radio botones

no hay problema gracias, de todos modos al final me parecio inecesario y opte por quitar los radiobotones.
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 16:02.