Foros del Web » Programando para Internet » Javascript »

getElementsByName ie8

Estas en el tema de getElementsByName ie8 en el foro de Javascript en Foros del Web. Buenos días, actualmente estoy intentando hacer compatible un sitio web con ie8 y en ese navegador por lo que veo no funciona getElementsByName de javascript... ...
  #1 (permalink)  
Antiguo 25/04/2013, 09:42
Avatar de oscard41  
Fecha de Ingreso: mayo-2012
Ubicación: Caracas
Mensajes: 288
Antigüedad: 12 años
Puntos: 8
getElementsByName ie8

Buenos días, actualmente estoy intentando hacer compatible un sitio web con ie8 y en ese navegador por lo que veo no funciona getElementsByName de javascript...

e intentado hacer esa funcion yo pero me da un error en la linea 15 :S aqui les dejo el codigo a ver si me pueden ayudar..

Código Javascript:
Ver original
  1. if(typeof document.getElementsByName!='function'){
  2.     document.getElementsByName=function(){
  3.         var strMetodo=document.getElementsByTagName('*');
  4.         var strName=new Array();
  5.         for(var i=0;strMetodo.length;i++){
  6.             if(strMetodo[i].getAttribute('name')){//<--- justo aqui me da el error me dice que el objeto es nulo o esta sin definir ese error es de IE8
  7.               elemen=strMetodo[i].getAttribute('name');
  8.                for(j=0; j<elemen.length;j++){
  9.                 strName.push(elemen[j]);
  10.                }
  11.             }else if(strMetodo[i].name){
  12.                 elemen=strMetodo[i].name;
  13.                 for(j=0; j<elemen.length;j++){
  14.                    strName.push(elemen[j]);
  15.                 }
  16.             }
  17.         }
  18.         return strName;
  19.     }
  20. }

si le coloco antes del if un alert() de esa variable si me muestra los getAttribute('name')....
de ante mano a los que me puedan ayudar gracias..

Última edición por oscard41; 25/04/2013 a las 09:48
  #2 (permalink)  
Antiguo 25/04/2013, 11:06
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: getElementsByName ie8

getElementsByName() si es soportado en IE8 e ie7
Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. <html lang="es-ar">
  3. <meta charset="utf-8" />
  4. <title>Html5</title>
  5. <script type="text/javascript">
  6. function todos(){
  7. var losTags ="";
  8. var todos_los_tags = document.getElementsByTagName("*");
  9. alert(todos_los_tags.length);
  10. for (var i=0; i < todos_los_tags.length; i++){
  11. var elName =todos_los_tags[i].name;
  12. losTags += todos_los_tags[i].tagName + " - " + elName +"\n";
  13.  
  14. }
  15. alert(losTags);
  16. }
  17.  
  18. function frutas(){
  19. var elementos_radio_fruta = document.getElementsByName("fruta");
  20. alert(elementos_radio_fruta .length);
  21. }
  22. </head>
  23.     <button onclick="todos()">Total de elementos en la página</button>
  24.     <button onclick="frutas()">Cuantos radio/fruta</button>
  25.     manzana <input type="radio" name="fruta" checked="checked" />
  26.     melon <input type="radio" name="fruta" />
  27.     uva <input type="radio" name="fruta" />
  28.     toyota<input type="radio" name="coches" />
  29. </body>
  30. </html>

SAludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 25/04/2013, 12:19
Avatar de oscard41  
Fecha de Ingreso: mayo-2012
Ubicación: Caracas
Mensajes: 288
Antigüedad: 12 años
Puntos: 8
Respuesta: getElementsByName ie8

Cita:
Iniciado por emprear Ver Mensaje
getElementsByName() si es soportado en IE8 e ie7
Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. <html lang="es-ar">
  3. <meta charset="utf-8" />
  4. <title>Html5</title>
  5. <script type="text/javascript">
  6. function todos(){
  7. var losTags ="";
  8. var todos_los_tags = document.getElementsByTagName("*");
  9. alert(todos_los_tags.length);
  10. for (var i=0; i < todos_los_tags.length; i++){
  11. var elName =todos_los_tags[i].name;
  12. losTags += todos_los_tags[i].tagName + " - " + elName +"\n";
  13.  
  14. }
  15. alert(losTags);
  16. }
  17.  
  18. function frutas(){
  19. var elementos_radio_fruta = document.getElementsByName("fruta");
  20. alert(elementos_radio_fruta .length);
  21. }
  22. </head>
  23.     <button onclick="todos()">Total de elementos en la página</button>
  24.     <button onclick="frutas()">Cuantos radio/fruta</button>
  25.     manzana <input type="radio" name="fruta" checked="checked" />
  26.     melon <input type="radio" name="fruta" />
  27.     uva <input type="radio" name="fruta" />
  28.     toyota<input type="radio" name="coches" />
  29. </body>
  30. </html>

SAludos
Nuevamente Gracias por tu respuesta... emprear (Y)
  #4 (permalink)  
Antiguo 25/04/2013, 12:53
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: getElementsByName ie8

Cita:
Iniciado por oscard41 Ver Mensaje
Nuevamente Gracias por tu respuesta... emprear (Y)
Una sugerencia, cuando hagas este tipo de pruebas, empezá por cosas simples, solo con esto

Código:
function frutas(){
var elementos_radio_fruta = document.getElementsByName("fruta");
alert(elementos_radio_fruta .length);
}
podrías haber verificado que funciona, luego vas haciéndolo más complejo, y de haber algún error, ya sabés que viene por otro lado

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.

Etiquetas: funcion, ie8
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 16:14.