Afficher nombre de lignes de mon tableau basé sur un json
Bonjour à tous,
Après de nombreuses recherches et quelques pistes trouvées sur d'autres discussions, je ne parviens toujours pas à afficher le nombre de lignes de mon tableau créé à partir d'un json.
Je m'explique :
- Dans l'idéal, j'aimerais que chaque ligne de mon tableau soit précédée par un numéro de ligne
- Dans l'absolu, un simple affichage du nombre de lignes contenues dans mon tableau affiché juste avant celui-ci serait suffisant
Mon tableau est créé grâce au script suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| function get_values(){ //Fonction permettant la création du tableau de resultats
var json = "http://*******/get_json.php?callback=?";
if(document.getElementById('Filtre_ti').value!=""){
json = json + "&nom_TI=" + document.getElementById('Filtre_ti').value;
}
console.log(json);
var titre_colindex = 0;
$.getJSON(json ,function(data){
console.log(data);
if(data.length != 0){
newRow = document.getElementById('mon_tableau').getElementsByTagName('tbody')[0].insertRow(-1);
$.each(data[0], function(index, valeur){ //Pour chaque colonne
newCell = newRow.insertCell(titre_colindex);
newCell.innerHTML = index;
titre_colindex+=1;
});
$.each(data, function(i,ti){
var newRow;
var newCell;
newRow = document.getElementById('mon_tableau').getElementsByTagName('tbody')[0].insertRow(-1);
newCell = newRow.insertCell(0);
newCell.innerHTML = ti.TI;
var i_colindex=1;
$.each(ti, function(index, valeur){
if(index != "TI"){
newCell = newRow.insertCell(i_colindex);
newCell.innerHTML = valeur;
i_colindex+=1;
}
});
}); //End each
console.log("End fct");
} |
Voici mon formulaire en HTML :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| <form name="monform" onSubmit="delete_tableau();get_values();return false" class="tableau" method="get"> <!--Creation du formulaire par l'entree utilisateur-->
</br></br>Quel TI recherchez vous ?</br></br>
<table border=0>
<tr>
<td>Nom du TI</td>
<td><input type="text" name="nom_TI" id="Filtre_ti"></td>
</tr>
<tr>
<td COLSPAN=1><button type="button" onclick="delete_tableau();get_values();">GO</button></td>
</tr>
</table>
</br>
<table id="mon_tableau" border=1><tbody></tbody></table>
</form> |
Après divers essais avec diverses méthodes, je tombe souvent sur un "unable to getElementsByTagName of undefined", j'ai tenté de changer le script de position mais rien n'y fait.
Avez vous des pistes ?
Merci de votre aide,
Corentin.
Essaye de gérer l'erreur toi même
Salut,
Essaye de gérer toi même cette erreur en faisant un
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| function jai_une_erreur(){
console.log("ton object est mort sur la page porque?");
}
function get_nb(){
if(document.getElementsByTagName('mon_tableau')[0] !== undefined){
var table = document.getElementsByTagName('mon_tableau')[0],
rows = table.getElementsByTagName('tr'),
text = 'textContent' in document ? 'textContent' : 'innerText';
for (var i = 0, len = rows.length; i < len; i++){
rows[i].children[0][text] = i + ': ' + rows[i].children[0][text];
}
}else{
console.log("ton object mon_tableau est mort, mais erreur géré");
}
} |