Foros del Web » Programando para Internet » Javascript »

por que no se selecciona?

Estas en el tema de por que no se selecciona? en el foro de Javascript en Foros del Web. que tal, estoy creando una lista de radios dinamicamente asi: Código PHP: var  elemento = document . createElement ( 'INPUT' );     if( numFun == 1 ...
  #1 (permalink)  
Antiguo 18/09/2007, 10:01
 
Fecha de Ingreso: septiembre-2005
Mensajes: 1.289
Antigüedad: 18 años, 7 meses
Puntos: 3
Pregunta por que no se selecciona?

que tal, estoy creando una lista de radios dinamicamente asi:

Código PHP:
var elemento=document.createElement('INPUT');
    if(
numFun==1){
        
elemento.type='radio';
        
elemento.value=obj;
        
//elemento.id="Hit_"+num;
        
elemento.name="radios";
        
elemento.onclick=function(){document.getElementById('valorRelacion').value=this.value;};    
        
//elemento.title=elemento.id;
        
celda=document.getElementById('cellH_'+num+'_0');
        
num2++;
    } 
entonces si me los crea y ejecuta bien lo que requiero, pero no se queda seleccionada la opcion que elija, alguna idea del por que no puedo seleccionar ningno?
__________________
Wow! No se que decir...

Última edición por zyon; 18/09/2007 a las 10:49
  #2 (permalink)  
Antiguo 18/09/2007, 10:54
 
Fecha de Ingreso: septiembre-2005
Mensajes: 1.289
Antigüedad: 18 años, 7 meses
Puntos: 3
Re: por que no se selecciona?

aqui les pongo el ejemplo ya separado...

Código PHP:
function radioSeleccionado(){

alert('clave es : ' document.getElementById('valorRadio').value);

}

function 
creaRadios(){
    
divCheck document.getElementById('check');
    for(
a=0;a<5;a++){
        var 
elemento=document.createElement('INPUT');
        
elemento.type='radio';
        
elemento.value=a;
        
//elemento.id="pruaba_"+a;
        
elemento.name="radios";
        
elemento.onclick=function(){document.getElementById('valorRadio').value=this.value;};    
        
//elemento.title=elemento.id;
        
divCheck.appendChild(elemento);
        
    }

y

Código PHP:
<DIV style="width:146px; height : 125px;  z-index : 7000;
             border:inset; border-width=2; background:#e6f2ff;
     overflow=auto; position : absolute; top:115px ; left:400px; visibility:visible" 
id='check'>
     </
div>

<
input type=hidden id='valorRadio'/>

<
input type=button value='crea Radios' onclick="creaRadios();"/>
<
input type=button value='Muestra Selección' onclick="radioSeleccionado();"/> 
no entiendo por que no me los marca....
__________________
Wow! No se que decir...

Última edición por zyon; 18/09/2007 a las 11:43
  #3 (permalink)  
Antiguo 19/09/2007, 06:01
 
Fecha de Ingreso: septiembre-2005
Mensajes: 1.289
Antigüedad: 18 años, 7 meses
Puntos: 3
Re: por que no se selecciona?

realmente nadie sabe por que al crear esos radios dinamicamente no me permite seleccionarlo y que se marquen? auxilio porfavor!!!!
__________________
Wow! No se que decir...
  #4 (permalink)  
Antiguo 19/09/2007, 06:56
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Re: por que no se selecciona?

Qué curioso el asunto este

Tu código es correcto pero IE parece que pierde agua por ahí.

No sé si esto es aplicable a IE posterior a la versión 6 (tal vez para la 7 esto esté corregido)

Parece ser que los campos creados dinámicamente en IE no pueden establecer un atributo name. Este atributo es necesario para que se active/desactive un campo de tipo radio.

En la web de microsoft propone al respecto el crear el campo usando createElement de la siguiente forma
Código:
 var elemento=document.createElement('<input type="radio" name="pepe">')
Funciona bien en IE y selecciona correctamente los campos al hacer click. Pero en otros navegadores (al menos en FF) deja de funcionar.

Podrías comprobar el navegador y crear el elemento de una u otra forma dependiendo de si es IE o no.

Otra cosa que podrías hacer (tal vez lo más simple) sería asignarle el comportamiento con javascript al crear el elemento

Código:
elemento.onclick=function(){document.getElementById('valorRadio').value=this.value; 
		this.checked =true
		};
Un saludo
__________________
Javascript Códigos - Bambú difunde
  #5 (permalink)  
Antiguo 19/09/2007, 07:39
 
Fecha de Ingreso: septiembre-2005
Mensajes: 1.289
Antigüedad: 18 años, 7 meses
Puntos: 3
Re: por que no se selecciona?

Muchas muchas gracias por responderme, y es curioso, io uso el IE 7 y he creado checkBox igual como lo hago con radios y con la propiedad de id y name y no me dio ningun solo problema, no crei que al querer hacerlo con radio pasara esto, probe con this.checked pero me seleccionaba todos, despues probe con la primera opcion que me das y con eso si funciono, lo implementare donde lo requiero y vere como se comporta, gracias de nuevo tunait!
__________________
Wow! No se que decir...
  #6 (permalink)  
Antiguo 19/09/2007, 08: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
Re: por que no se selecciona?

Hola:

Una chapuza, pero que funciona en explorer y que sin probarlo, afirmaría que también en los demás, es clonar un input con el name que quieras que no necesariamente tenga que pertenecer a un form (incluso oculto):

Código:
<html>
<head>
<script>
function radioSeleccionado(){ 

alert('clave es : ' + document.getElementById('valorRadio').value); 

} 

function creaRadios(){ 
    divCheck = document.getElementById('check'); 
    for(a=0;a<5;a++){ 
        var elemento=document.getElementById("unRadio").cloneNode(true); 
//        elemento.setAttribute("type", 'radio'); 
        elemento.value=a; 
        elemento.style.display = 'inline';
        //elemento.id="pruaba_"+a; 
//        elemento.NAME = "radios"; 
        elemento.onclick=function(){document.getElementById('valorRadio').value=this.value;};     
        //elemento.title=elemento.id; 
        divCheck.appendChild(elemento); 
        // if (a == 0) elemento.checked = true;
    } 
}  

</script>
</head>
<body>
<DIV style="width:146px; height : 125px;  z-index : 7000; 
             border:inset; border-width=2; background:#e6f2ff; 
     overflow=auto; position : absolute; top:115px ; left:400px; visibility:visible" id='check'> 
     </div> 
<input type="radio" id='unRadio' name="radios" style="display: none"/> 

<form action="">
<input type=hidden id='valorRadio'/> 


<input type=button value='crea Radios' onclick="creaRadios();"/> 
<input type=button value='Muestra Selección' onclick="radioSeleccionado();"/> 
</form>
</body>
</html>
Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #7 (permalink)  
Antiguo 20/09/2007, 06:17
 
Fecha de Ingreso: septiembre-2005
Mensajes: 1.289
Antigüedad: 18 años, 7 meses
Puntos: 3
Re: por que no se selecciona?

que tal caricatos te agradesco tabien tu respuesta, solo una cosa, en la propiedad display pusiste como valor 'inline', me preguntaba si no tendras por hay alguna liga en donde vengan todos los valores con una pequeña explicación de la propiedad display, siempre las paginas que ustedes encuentran son muy buenas :P por eso te la pido, no por flojera de buscar en google jeje Saludos y gracias de nuevo.
__________________
Wow! No se que decir...
  #8 (permalink)  
Antiguo 20/09/2007, 08:49
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Re: por que no se selecciona?

Cita:
Iniciado por zyon Ver Mensaje
que tal caricatos te agradesco tabien tu respuesta, solo una cosa, en la propiedad display pusiste como valor 'inline', me preguntaba si no tendras por hay alguna liga en donde vengan todos los valores con una pequeña explicación de la propiedad display, siempre las paginas que ustedes encuentran son muy buenas :P por eso te la pido, no por flojera de buscar en google jeje Saludos y gracias de nuevo.
Hola:

Aunque hay varios valores posibles para la propiedad display, las que siempre uso son block, inline y none.

Sobre referencias, hice un volcado de los elementos de una página en está: Etiquetas, atributos, estilos y eventos... donde también añadí las fuentes de la w3.org (sin dudas, la mejor referencia)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #9 (permalink)  
Antiguo 21/09/2007, 09:06
 
Fecha de Ingreso: septiembre-2005
Mensajes: 1.289
Antigüedad: 18 años, 7 meses
Puntos: 3
Re: por que no se selecciona?

hye gracias, le hechare un vistazo!
__________________
Wow! No se que decir...
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 23:11.