04/06/2010, 14:26
|
| Javascripter | | Fecha de Ingreso: abril-2009 Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 6 meses Puntos: 1485 | |
Respuesta: No se puede mover el foco hacia el control porque el control es invisible. he estado viendo como se genera el error en iexplorer y sucede, tal como dice el mensaje de error, cuando se le intenta mover el foco (metodo focus) a un elemento inhabilitado o escondido. entonces, claramente antes de mover el foco tienes que hacerlo visible o habilitar el control. supongo que eso es lo que intentas hacer aqui $("#canal").attr("disabled",false);. ahora bien, no estoy familiarizado con las librerias pero... ¿como funciona el metodo attr? es decir, ¿el metodo trabaja a base de propiedades tal como element.attribute o utiliza metodos del DOM tal como element.setAttribute()? esto es importante porque si es la segunda forma, element.setAttribute("disabled", false) -al menos en iexplorer parece ser- es el equivalente de convertir el booleano a string de modo que produce un atributo tal que disabled="false". por tanto, una vez el atributo este presente el navegador lo considera como inhabilitar el control incluso si es un string vacio. si quieres hacerlo desde la libreria tienes que buscar una funcion que sea explicitamente para eliminar atributos del elemento. o sea, un equivalente del metodo DOM removeAttribute.
__________________ la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad. |