Foros del Web » Programando para Internet » Javascript »

No me funciona elemento.tagName

Estas en el tema de No me funciona elemento.tagName en el foro de Javascript en Foros del Web. Por que no me funciona esto? : @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original function alerta ( objeto ) {   var elemento = document. ...
  #1 (permalink)  
Antiguo 30/01/2011, 10:19
Avatar de Tecktonikrazy  
Fecha de Ingreso: enero-2010
Mensajes: 224
Antigüedad: 14 años, 4 meses
Puntos: 3
Pregunta No me funciona elemento.tagName

Por que no me funciona esto? :
Código Javascript:
Ver original
  1. function alerta(objeto){
  2.  
  3. var elemento = document.getElementById(objeto);
  4.  
  5. if(elemento.type == 'text' || elemento.tagName == 'textarea'){
  6.  
  7. alert('Si es input text o textarea');
  8.  
  9. }
  10.  
  11. }

Código HTML:
<input type="text" id="texto" onclick="alerta(this.id)"/>

<textarea id="area" onclick="alerta(this.id)"/></textarea> 
Si doy click en el input si me aparece la alerta pero si doy click en el textarea no, porque?
__________________
I LOVE HTML (How To Make Love)
  #2 (permalink)  
Antiguo 30/01/2011, 10:31
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: No me funciona elemento.tagName

1-) el textarea no se cierra de esa forma, debe ser <textarea></textarea>
2-) tagName suele devolver en mayúsculas, pero puede variar entre navegadores (no lo he probado), así que para estar seguros usamos toLowerCase
3-) veo que le pasas el id a la función, ¿porque no pasas directamente el objeto y te evitas la búsqueda por DOM?: es más simple y rápido
intenta:

Código Javascript:
Ver original
  1. function alerta(elemento){
  2.     //var elemento = document.getElementById(objeto); // ¿porque no pasas directamente el objeto y te evitas la búsqueda por DOM?
  3.     if(elemento.type == 'text' || elemento.tagName.toLowerCase() == 'textarea'){
  4.         alert('Si es input text o textarea');
  5.     }
  6. }

Código HTML:
Ver original
  1. <!-- solo pasamos this -->
  2. <input type="text" id="texto" onclick="alerta(this)"/>
  3. <textarea id="area" onclick="alerta(this)"></textarea>
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...

Etiquetas: Ninguno
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 07:34.