Foros del Web » Programando para Internet » Javascript »

Como trabajar con radio buttons y DOM?

Estas en el tema de Como trabajar con radio buttons y DOM? en el foro de Javascript en Foros del Web. loading............ por ejemplo en dom puedo crear radio1=document.createElement("input"); radio1.type="radio"; etc etc lo que quiero hacer es 4 radio buttons... creados con DOM y luego "averiguar" ...
  #1 (permalink)  
Antiguo 12/06/2006, 17:23
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
Como trabajar con radio buttons y DOM?

loading............


por ejemplo en dom puedo crear

radio1=document.createElement("input");
radio1.type="radio";


etc etc lo que quiero hacer es 4 radio buttons... creados con DOM y luego "averiguar" de alguna manera cual de ellos fue seleccionado.... debo descartar el hecho de usar getelementsbyname ... lo que usar es el objeto que ha creado los radios para saber su valor.... como se hace? gracias.


connection closed.
__________________

Maborak Technologies
  #2 (permalink)  
Antiguo 12/06/2006, 17:55
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:

Puedes poner también atributos name y value... y por qué no, id (Creo que name debe estar en mayúsculas)... también podrías usar la variable radio1 (radio1.checked)...

Aunque no estoy seguro si estas cosas ya las sabías.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 12/06/2006, 18:01
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
loading............


osea

radio1=document.createElement("input");
radio1.type="radio";
radio2.value=1
contenedor.element.appendChild(radio1);
radio1=document.createElement("input");
radio1.type="radio";
radio2.value=2
contenedor.element.appendChild(radio1);
radio1=document.createElement("input");
radio1.type="radio";
radio2.value=3
contenedor.element.appendChild(radio1);


y con una funcion hago
if radio1.checked==true.... radio1.value... esta seria la forma de obtener el valor de los 3 radios? osea los 3 radios solo deben arrojar un valor como un select...


connection closed.
__________________

Maborak Technologies
  #4 (permalink)  
Antiguo 12/06/2006, 18:05
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:

Pues más o menos así (se nota que has hecho copy & paste)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 12/06/2006, 18:07
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
loading................


bueno lo probaré, gracias caricatos.



connection closed.
__________________

Maborak Technologies
  #6 (permalink)  
Antiguo 12/06/2006, 18:38
Avatar de Cap.Buscapina  
Fecha de Ingreso: octubre-2004
Ubicación: Argentina
Mensajes: 836
Antigüedad: 19 años, 6 meses
Puntos: 4
jeje, mientras hacía este ejemplo, parece que todo se ha resuelto:
Cita:
<html>
<head>
<script>
v=new Array("Exelente","MuyBueno","Bueno","regular","mal o")
function generar(){
for(radios in v){
radio=document.createElement("input");
etiqueta=document.createElement("label");
texto=document.createTextNode(v[radios]);
br=document.createElement("br");
radio.name="notas";
radio.type="radio";
radio.value=v[radios];
//radio.onclick="alert('El radio que está seleccionado es '+this.value.toUpperCase())";
etiqueta.appendChild(texto);
etiqueta.appendChild(radio);
document.getElementById('donde').appendChild(etiqu eta);
document.getElementById('donde').appendChild(br);

}
}

function cual(){
todos=document.getElementById('donde').getElements ByTagName('input');
for(radiox in todos){
if(todos[radiox].checked==true && todos[radiox].type=="radio"){
return alert("El radio que está seleccionado es "+todos[radiox].value.toUpperCase());
}
}
}
</script>
</head>
<body onload="generar()">
<form><div id="donde"></div>
<button onclick="cual()">ver cual es el seleccionado</button>
<br>
<textarea cols="50" rows="10" onDblClick="this.value=document.getElementById('do nde').innerHTML;"></textarea>
</form>
</body>
</html>
saludos:


pd:lo que si, no me pregunten por que no funca en IE. ¿?

pd: por haí se coló algun espacio en blanco( el enigma de la regla 51).
__________________
by Capitán Buscapina
.
  #7 (permalink)  
Antiguo 13/06/2006, 00:42
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Cita:
Iniciado por Cap.Buscapina
...

pd:lo que si, no me pregunten por que no funca en IE. ¿?
Bueno: Una posible razón para que en IE no funcione, es que usando ese tipo de bucle, cuenta del array los elementos y atributos, y uno de los atributos que cuenta es el length ... tal vez con un bucle for de los otros...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #8 (permalink)  
Antiguo 13/06/2006, 09:42
Avatar de Cap.Buscapina  
Fecha de Ingreso: octubre-2004
Ubicación: Argentina
Mensajes: 836
Antigüedad: 19 años, 6 meses
Puntos: 4
Cita:
Iniciado por caricatos
Bueno: Una posible razón para que en IE no funcione, es que usando ese tipo de bucle, cuenta del array los elementos y atributos, y uno de los atributos que cuenta es el length ... tal vez con un bucle for de los otros...

Saludos

pos parecería que el asunto no viene de allí, mas bien pasa algo con la asignación del "name". Aunque probé con mayusculas,Id y demás y no pasa nada.

saludos
__________________
by Capitán Buscapina
.
  #9 (permalink)  
Antiguo 13/06/2006, 10:59
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:

En otro tema hemos visto que el atributo name hay que ponerlo en mayúsculas (ya no recuerdo donde...) y el id en minúsculas.

En algunos navegadores debe hacerse la asignación con setAttribute.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #10 (permalink)  
Antiguo 13/06/2006, 14:00
Avatar de Cap.Buscapina  
Fecha de Ingreso: octubre-2004
Ubicación: Argentina
Mensajes: 836
Antigüedad: 19 años, 6 meses
Puntos: 4
jeje, pero sigue sin funcionar (ya probé setAtribute, Name, name, NAME y nada)
__________________
by Capitán Buscapina
.
  #11 (permalink)  
Antiguo 14/06/2006, 02:48
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola a todos.

Se me ha ocurrido este código, me parece un poco chapucilla, pero puede servir para salir del paso:
Código PHP:
<html>
<
head>
<
script type="text/javascript">
function 
anadir() {
  
obj=document.forms[0].elements[0].cloneNode(true);
  
obj.style.visibility 'visible';
  
document.forms[0].appendChild(obj);
}
</script>
</head>
<body>
<form>
<input type="radio" name="rad" style="visibility:hidden" />
<input type="button" onclick="anadir()" />
<input type="button" onclick="alert(this.form.innerHTML)" />
</form>
</body>
</html> 
Saludos,
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 10:43.