Ver Mensaje Individual
  #4 (permalink)  
Antiguo 29/09/2007, 02:04
Avatar de caricatos
caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 11 meses
Puntos: 1284
Re: Deschequear un radio

Hola:

La verdad es que no había pensado en reemplazar el elemento checkeado por uno nuevo, pero por experiencia en el manejo de controles yo diría que en vez de crear un elemento nuevo con createElement, es mejor "clonar" uno con todos sus atributos creados (tal vez solo asignar el value)...

Otra cosa que recuerdo es que explorer implementa mal getElementsByName()... curiosamente la selección en explorer se hace (al menos en viejas versiones) por el id (como si pudiera repetirse)...

Acabo de probar en explorer 7 y parece que la colección ya funciona, pero al probar el script inserté una línea para contar los radios, y por cada "borrado" de un radio, el "length" mengua (porque no se asigna bien el name)...

Con unos toquecitos, se consigue que funcione en explorer (al menos el 7)

Código:
function desSeleccionar(nombre) {
    var losRadio = document.getElementsByName(nombre);

//alert(losRadio.length);

    for(var i=0; i<losRadio.length; i++) {
        if( losRadio[i].checked )
            break;
    }
    if( i<losRadio.length )    {    // Existe el elemento
        var elRadio = losRadio[i]; alert(elRadio.value);
        var nuevoRadio = losRadio[(i + 1) % losRadio.length].cloneNode(true);
        //var nuevoRadio = document.createElement("INPUT");
        //nuevoRadio.type = "radio";
        //nuevoRadio.name = nombre;
        nuevoRadio.value = elRadio.value;
        elRadio.parentNode.replaceChild( nuevoRadio, elRadio );
    }
}
Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo