begin process at 2012 05 30 02:30:27
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

CSS

 > 

Général

 > 

Trouver le numéro d'une ligne


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Trouver le numéro d'une ligne

mardi 9 novembre 2010 à 15:50:51 | Trouver le numéro d'une ligne

Canyata

Salut à tous, j'ai un petit soucis :)

J'ai un tableau en html/php:

Code PHP :
echo"<table id='tab_tech'>";
echo"</table>";


Grace au javacript, j'arrive lorsque l'on clic sur un bouton à ajouter a ce tableau le choix contenu dans une listebox:

Code Javascript :
function ajouter_Technicien(){
    var xhr = getXhr();
    // On défini ce qu'on va faire quand on aura la réponse
    xhr.onreadystatechange = function(){
        // On ne fait quelque chose que si on a tout reçu et que le serveur est ok
        if(xhr.readyState == 4 && xhr.status == 200){
            leselect = xhr.responseText;// la y a le nom du technicien 
            // On se sert de innerHTML pour rajouter les options a la liste
            ajouterLigne(leselect, idtechnicien);
        }
    }
    // Ici on va voir comment faire du post
    xhr.open("POST","vue/ajaxTechnicien.php",true);
    // ne pas oublier ça pour le post
    xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    // ne pas oublier de poster les arguments
    // ici, l'id de l'auteur
    sel = document.getElementById('technicien_affecte');
    idtechnicien = sel.options[sel.selectedIndex].value;
    if( idtechnicien == -1 ){
        alert("Choisissez un technicien valable");
    }else{
        xhr.send("ID_TECHNICIEN="+idtechnicien);
    }
}


Une fois que dans leselect est contenu le nom de mon technicien grace a l'AJAX, je passe dans les paramètres d'une nouvelle fonction ajouterLigne fonction le nom et l'id de mon technicien.

(Dans cette partie du code, si sur chaque ligne sont répété les paramètres de largeur de cellule, c'est qu'au début je n'ai aucune cellule.)

Code Javascript :
function ajouterLigne(nom, id)
{
    tableau = document.getElementById("tab_tech");
    var ligne = tableau.insertRow(-1);//on a ajouté une ligne
    var colonne1 = ligne.insertCell(0);//on a une ajouté une cellule
    colonne1.setAttribute('width', '28px');
    colonne1.innerHTML += "<img src='img/technicien_petit.png' onclick='alert(this.parentNode.rowIndex);'>"; //onclick='alert(this.parentNode.rowIndex);' est censé me dire le numero de la ligne ou est l'image
    colonne1.innerHTML += "<input type='hidden' name='nom_technicien_"+id+"' value='"+nom+"'/>";
    colonne1.innerHTML += "<input type='hidden' name='id_technicien_"+id+"' value='"+id+"'/>";

    var colonne2 = ligne.insertCell(1);//on ajoute la seconde cellule
    colonne2.setAttribute('width', '235px');
    colonne2.innerHTML += nom;

    var colonne3 = ligne.insertCell(2);//on ajoute la troisieme cellule
    colonne3.setAttribute('width', '22px');
    colonne3.setAttribute('align', 'right');
    colonne3.innerHTML += "<img src='img/supprimer_blanc_petit.png' onclick='supprimerLigne(this.parentNode.rowIndex);'>";
}



Lorsque je clic donc sur la première image dans mon tableau qui est dans la premiere colonne de chaque ligne, l'alert(this.parentNode.rowIndex) devrait me retourner le numéro de la ligne d'où l'image a été clické.

Cependant lorsque je clique sur cette image, l'alert me retourne "undefined".

Ce retour me pose un problème car j'ai la fonction supprimerLigne qui me permet de supprimer une ligne du tableau en fonction de son indice qui n'arrive pas a trouver la ligne qu'elle doit supprimer.

Code Javascript :
function supprimerLigne(num)
{
    document.getElementById("tab_tech").deleteRow(num);
    modifier_Liste_Technicien();
}


Et donc, lorsque j'ai plusieurs éléments dans le tableau, si je supprime le dernier, la fonction prenant en paramètre undefined me supprime la première ligne.

Auriez-vous une astuce pour solutionner mon problème?

Est-ce que le this.parentNode.rowIndex est la bonne façon pour récuperer l'indice d'une ligne?

Merci d'avance
mardi 9 novembre 2010 à 15:57:54 | Re : Trouver le numéro d'une ligne

Zobibol

Membre Club
Réponse acceptée !
Bien le bonjour, le problème, est relativement simple, l'image ce place dans une cellule, aussi this.parentNode va retourner la cellule, donc, le rowIndex n'existe pas, il existe mais sur la ligne (tr).
Du coup en remontant encore d'un cran (this.parentNode.parentNode.rowIndex), on retombe bien sur la ligne et il retourne l'index de celle-ci.


[o-_-o]
mardi 9 novembre 2010 à 16:20:43 | Re : Trouver le numéro d'une ligne

Canyata

Merci beaucoup :)


Cette discussion est classée dans : ligne, code, tableau, xhr, technicien


Répondre à ce message

Sujets en rapport avec ce message

Ligne d'un tableau cliquable [ par KasPe ] Bonjour, Désolé si ma question n'est pas au bon endroit, mais comme j'ai l'intention de rajouter à ce code du javascript, je me suis dis ... Je cherc Parcours d'un tableau en JS [ par Canyata ] Bonjour à tous [^^happy17] J'ai une question à vous poser. J'ai un tableau en HTML sur ma page: [code=php]echo""; echo""; echo""; echo""; Suppression de lignes ajoutées, dans un tableau [ par ju0123456789 ] Bonjour, Tout d'abord désolé si je ne suis pas dans le bon sujet. Ensuite, J'ai un tableau par défaut avec 3 lignes. J'ai créé un bouton qui en créé envoie d'un tableau avec la methode GET [ par soukaouta ] Bonjour, j'essaie d'envoyer un tableau dans un url avec la methode GET, voila le code: [code=js] function Array2Get(tbl,nom) { //tbl est une variable javascript et php [ par anthony428 ] Bonjour à tous, je me suis mis à javascript depuis peu et d'habitude, je code plutôt en php mais il faut dire que les fonctions javascript offrent un Javascript insertion dynamique d'input - prb [ par tannana86 ] Bonjour, Après des multiple essais infructueux, je m'adresse à vous chères âmes charitables !! Mon objectif étant de : pouvoir créer et supprimer d Temps d'exécution [ par Bobshit75 ] Bonjour à tous, Voilà, j'ai essayé de faire de l'Ajax sans JQuery (je regrette mais bon ^^). Le problème que je rencontre c'est un problème au niveau Accéder aux lignes d'un tableau (JavaScript) depuis le code behind(C#) [ par MathieuDev ] Bonjour à tous, je fais appel à codes-sources.com car je rencontre un problème sur mon application web. En effet, j'ai construit un tableau html vide Probleme Rafraîchissement tableau master détails [ par aymen8219 ] bonjour, je suis entrain de développer un interface pour la consultation des action en bourse. je viens de créer deux tableau master détails en Jquer XMLHttpRequest sur serveur distant [ par azertyyy7575 ] Bonjour, J'ai un petit en ce moment avec un code Javascript/java J'utilise XMLHttpRequest pour récupérer les informations dont j'ai besoin. Le soucis


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,108 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales