Foros del Web » Programando para Internet » Javascript »

Método setAttribute en I Explorer.

Estas en el tema de Método setAttribute en I Explorer. en el foro de Javascript en Foros del Web. No me funciona un setAttribute en I Explorer, concretamente para modificar el evento onClick de una imagen, este el código: elemento=document.getElementById("botonEnviar"); elemento.setAttribute("onClick","enviarDatos();ret urn false"); Funciona ...
  #1 (permalink)  
Antiguo 08/08/2005, 02:03
 
Fecha de Ingreso: julio-2005
Mensajes: 90
Antigüedad: 19 años, 1 mes
Puntos: 1
Método setAttribute en I Explorer.

No me funciona un setAttribute en I Explorer, concretamente para modificar el evento onClick de una imagen, este el código:

elemento=document.getElementById("botonEnviar");
elemento.setAttribute("onClick","enviarDatos();ret urn false");

Funciona perfectamente en Firefox y en Netscape, pero en el j... I Explorer nada de nada, no modifica la propiedad.
  #2 (permalink)  
Antiguo 08/08/2005, 06:50
 
Fecha de Ingreso: julio-2005
Mensajes: 90
Antigüedad: 19 años, 1 mes
Puntos: 1
vaya veo que nadie sabe como hacerlo ....
  #3 (permalink)  
Antiguo 08/08/2005, 09:16
 
Fecha de Ingreso: julio-2005
Mensajes: 90
Antigüedad: 19 años, 1 mes
Puntos: 1
No hace falta que os devaneis los sesos más, ya sé como hacerlo, si alguien está interesado, que se busque la vida como he hecho yo, jeje. Es broma
  #4 (permalink)  
Antiguo 08/08/2005, 09:44
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 5 meses
Puntos: 1284
Hola mario2005:

La forma estándar de incluir evento es mediante addEventListener (que me parece que se define en w3.org) pero con explorer debes usar attachEvent

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 09/08/2005, 03:46
 
Fecha de Ingreso: julio-2005
Mensajes: 90
Antigüedad: 19 años, 1 mes
Puntos: 1
No estoy incluyendo ningún evento, estoy (estaba) intentando modificar la propiedad "onClick" de un elemento. Quizas esto (onClick) se un evento, pero tb es un atributo de un elemento del DOM y como tal se puede eliminar, modificar o crear. Pero gracias de todas formas porque ya lo tengo hecho.
  #6 (permalink)  
Antiguo 22/08/2005, 13:46
 
Fecha de Ingreso: septiembre-2004
Ubicación: Montevideo
Mensajes: 346
Antigüedad: 20 años
Puntos: 0
Bueno Mario, podrias decir como lo hiciste.... porque yo tengo el mismo problema que tu tuviste y hace rato que no lo puedo resolver...

¿como lo arreglaste? gracias y saludos.

Liber
__________________
Liber
  #7 (permalink)  
Antiguo 22/08/2005, 19:02
 
Fecha de Ingreso: septiembre-2004
Ubicación: Montevideo
Mensajes: 346
Antigüedad: 20 años
Puntos: 0
mario? estas?
__________________
Liber
  #8 (permalink)  
Antiguo 22/08/2005, 19:59
 
Fecha de Ingreso: julio-2005
Mensajes: 90
Antigüedad: 19 años, 1 mes
Puntos: 1
Hola Liber aqui estoy, lo siento pero estaba de vacaciones y no me he conectado hasta hoy. Te explico: Solamente aquellos navegadores que utilicen el nucleo Gecko (motor de navegación) interpretan bien la instruccion setAttribute, punto. De todos es sabido que ni Internet Explorer ni Opera estan basado en Gecko, por lo tanto, la solución consiste en detectar si el navegador del ciente soporta Gecko y actuar en consecuencia, te dejo un código de ejemplo:

var gko = navigator.userAgent.toLowerCase();
elemento=document.getElementById('enlace');
if (gko.indexOf('gecko')!=-1) //si soporta gecko, es Mozilla, Netscape, Safari, etc
elemento.setAttribute('onclick','alert("hola");ret urn false');//hacemos el setAttribute normalmente
else //es I Explroer
elmento['onclick']=new Function('alert("hola");return false;');//creamos en setAttribute de esta forma

Es importante fijarse que el evento onclick debe ir todo en minúscula nada de onClick ya que no funcionaría, supongo que será algo del XHTML que es case-sensitive.
Esto es todo espero que te sirva de ayuda, bye.
  #9 (permalink)  
Antiguo 22/08/2005, 21:19
 
Fecha de Ingreso: septiembre-2004
Ubicación: Montevideo
Mensajes: 346
Antigüedad: 20 años
Puntos: 0
gracias mario! apenas lo pruebe te comento los resultados!!! Saludos!
__________________
Liber
  #10 (permalink)  
Antiguo 23/08/2005, 07:48
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 10 meses
Puntos: 45
Pues a mi esta linea
Código PHP:
elemento.setAttribute('onclick','alert("hola");return false');//hacemos el setAttribute normalmente 
me funciona en Opera8 aparte de en Firefox1.0.6. En Netscape son mas raros para los eventos, ahi no se como ira, no lo tengo. Netscape derivó hacia Mozilla. ¿Porque lo siguen desarollando?
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #11 (permalink)  
Antiguo 23/08/2005, 10:27
 
Fecha de Ingreso: julio-2005
Mensajes: 90
Antigüedad: 19 años, 1 mes
Puntos: 1
Sí, es verdad en Opera funciona correctamente, vale, pues mejor.
  #12 (permalink)  
Antiguo 23/08/2005, 11:12
 
Fecha de Ingreso: septiembre-2004
Ubicación: Montevideo
Mensajes: 346
Antigüedad: 20 años
Puntos: 0
mario, funciono de maravilla! muchas gracias, derekenuke, no se que responderte a porque siguen desarrollando netscape.

Saludos,

Liber
__________________
Liber
  #13 (permalink)  
Antiguo 23/08/2005, 13:57
 
Fecha de Ingreso: agosto-2005
Mensajes: 20
Antigüedad: 19 años, 1 mes
Puntos: 0
elemento.setAttribute('onclick','alert("hola");ret urn false');//hacemos el setAttribute normalmente



dekernuke por que esta linea termina en return false???????
  #14 (permalink)  
Antiguo 23/08/2005, 14:37
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 10 meses
Puntos: 45
La verdad es que el codigo original es de mario2005, asi que no lo se seguro.
creo que es para que el evento onclick no se propage a elementos de segundo nivel (capas por debajo, el document... etc)
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #15 (permalink)  
Antiguo 23/08/2005, 17:48
 
Fecha de Ingreso: julio-2005
Mensajes: 90
Antigüedad: 19 años, 1 mes
Puntos: 1
Al poner return false, te aseguras que al hacer click ejecutará al acción establecida (alert()) y luego se "dentendrá", es decir si el elemento fuera un enlace, puede ser que intentará abrir otra página.
  #16 (permalink)  
Antiguo 24/08/2005, 03:05
 
Fecha de Ingreso: agosto-2005
Mensajes: 20
Antigüedad: 19 años, 1 mes
Puntos: 0
mi duda es: si pones return true, tb se detiene no???

gracias.. un saludo
  #17 (permalink)  
Antiguo 24/08/2005, 09:37
 
Fecha de Ingreso: julio-2005
Mensajes: 90
Antigüedad: 19 años, 1 mes
Puntos: 1
no lo se no lo he probado, hazlo tu y ya me cuentas, pero creo que no.
  #18 (permalink)  
Antiguo 27/08/2008, 11:45
Avatar de minkweb  
Fecha de Ingreso: septiembre-2005
Mensajes: 443
Antigüedad: 19 años
Puntos: 14
Respuesta: Método setAttribute en I Explorer.

Muy buena a mi me funciono de lo lindo, gran aporte men! siempre me tocaba recurrir a los "href" :)
__________________
Juegos
Juegos iphone
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.
Tema Cerrado

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 13:20.