2010-09-17 14 views
0

J'ai une fonction Javascript qui fonctionne dans IE7, mais me donne du mal dans Firefox.Tableau d'affichage de la ligne bascule ne fonctionne pas dans Firefox

JAVASCRIPT

function vehicleSelected() { 
    var ddlSelect = document.getElementById('ddlSelect'); 
    var displayTable = document.getElementsByName('listTable')[0]; 
    var strAuto = ddlSelect.options[ddlSelect.selectedIndex].value; 
    alert("ok, so far"); 
    var rows = displayTable.getElementsByTagName("tr"); 
    alert("this alert is not triggered"); 
    var rowData = document.getElementById(strData); 
    for (var i = 0; i < rows.length; i++) { 
     rows[i].style.display = 'none'; 
    } 
    rowData.style.display = ''; 
} 

Je ne sais pas comment le reste du code est traité. Existe-t-il un moyen universel de basculer l'affichage pour une ligne de table ou en ai-je besoin pour Firefox?

EDIT

<table id="listTable"> 

Répondre

1

votre poste laisse un grand nombre de détails, mais je devine votre HTML ressemble à ceci

<table id='listTable' name='listTable'> 

name est apparemment pas un attribut valide pour une table (aucune mention here et IntelliSense studio visuel est d'accord), de sorte que Firefox ne tient pas compte de cet attribut et ne trouve pas d'éléments nommés listTable. displayTable est indéfini dans l'exécution de firefox.

Internet Explorer cependant, avec son insistance pour Neverending faire les choses mal, voit que l'attribut id a une valeur de 'listTable' et estime que assez bon pour se qualifier pour getElementsByName. IE ne considère pas réellement l'attribut name que vous avez donné à votre table - il a juste de la chance. Si vous supprimez l'attribut id, votre méthode échouera également dans IE.

+0

Cela a aidé, mais je suis toujours bloqué sur la façon dont je serais en mesure d'appeler la table pour une utilisation dans le javascript. Je fait des modifications pour afficher la table dans le code HTML – MrM

+0

remplacer 'document.getElementsByName ('listTable') [0];' 'avec document.getElementById ('listTable');'. c'est la façon préférée de le faire de toute façon. – lincolnk