IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

[AJAX] Recuperer la valeur d'un champs d'un tableau AJAX


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 120
    Points : 54
    Points
    54
    Par défaut [AJAX] Recuperer la valeur d'un champs d'un tableau AJAX
    Bonjour,

    j'aimerai récuperer la valeur d'un champs d'un tableau en AJAX

    voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    function go(id){
    				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;
    						// On se sert de innerHTML pour rajouter les options a la liste
    						document.getElementById('idsummary').innerHTML = leselect;
    					}
    				}
     
    //				alert("ok");
    				// Ici on va voir comment faire du post
    				xhr.open("POST","TitreMessage.php",true);
    				// ne pas oublier ça pour le post
     
    				xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
     
    				sel = document.getElementById(id);
    				idauteur = sel.value;
    				alert(idauteur);
    				xhr.send("textID="+sel);
    			}
    et l'appel de la fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     echo '<td name="textsujet" onclick="go(this)"/>'.$row_message["SUJET"].'</a>';
                echo '</td>';
    il m'affiche null pour la valeur ??

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 144
    Points : 129
    Points
    129
    Par défaut
    La récupération de variable via l'utilisation de la technologie AJAX se fait via les variables Javascript, tu ne peux pas interpréter le PHP, puisque cela reste coté serveur. Il te faut donc faire des echos, afin d'afficher des var javascript.
    "Il n'y a ni gagnant ni perdant, juste des joueurs ..."

    Pensez, si vous le pouvez encore, au tag RESOLU
    Nb: Note à moi même, ne l'oublis pas sinon tu vas te faire traiter

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 120
    Points : 54
    Points
    54
    Par défaut
    Je ne veux pas recuperer la valeur d'une variable.

    Mon tableau s'affiche progressivement avec des valeurs post. J'aimerai pouvoir clicker sur ces valeurs et recuperer la valeur sur laquelle j'ai clické d'ou le

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    				sel = document.getElementById(id);
    				idauteur = sel.value;

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 144
    Points : 129
    Points
    129
    Par défaut
    Autant pour moi, j'ai lu en diagonal ce que tu as tapé et me suis basé sur la première ligne

    Si j'ai bien compris cette fois ci, tu voudrais récupérer la valeur qu'il y a dans un champs de ton tableau ???

    Si cela existe la propriété doit s'appeler innerHTML
    "Il n'y a ni gagnant ni perdant, juste des joueurs ..."

    Pensez, si vous le pouvez encore, au tag RESOLU
    Nb: Note à moi même, ne l'oublis pas sinon tu vas te faire traiter

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 120
    Points : 54
    Points
    54
    Par défaut
    Ben j'ai essayé comme ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    				sel = document.getElementById(id).innerHTML;
    				alert(sel);
    mais ca ne marche pas
    sel ne contient pas la valeur du champs du tableau en tout cas !!

  6. #6
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 131
    Points : 95
    Points
    95
    Par défaut
    Quand tu passe this a ta fonction, tu lui donn l element td et cet element TD doit contenir un noeud texte (voir DOM)

    Du coup pour recup ce qu il y a dans ton td doit etre du style

    td.firstChild.nodeValue

    en plus y a un pbleme ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     echo '<td name="textsujet" onclick="go(this)"/>'.$row_message["SUJET"].'</a>';
                echo '</td>';
    tu fermr td 2 fois : <td name="textsujet" onclick="go(this)"/> virer le dernier /

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 120
    Points : 54
    Points
    54
    Par défaut
    oui tu as raison il y avait un probleme avec le <td> merci .

    je me suis basé avec le tuto AJAX des listes liées mais apparemment ca n'est pas du tout pareil pour recuperer un champs texte.

    Tu peux developper un peu j'ai un peu de mal à te suivre .

    je mets ca dans ma partie javascript pour recuperer ma valeur ?
    td.firstChild.nodeValue

  8. #8
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 131
    Points : 95
    Points
    95
    Par défaut
    Voila un code qui devrai faire ton bonheur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    <html>
    <head>
    	<script type="text/javascript">
    	function retourneValeur(id)
    	{
    		alert(document.getElementById(id).firstChild.nodeValue);
    	}
    	</script>
     
    </head>
    <body>
    	<table>
    		<tr>
    			<td></td>
    			<td id="test">Valeur du noeud</td>
    		<TR>
    	</table>
    	<input type=button onclick="retourneValeur('test');" value="AFFICHER LA VALEUR DU NOEUD">
    </body>
    </html>
    en fait ta valeur n est pas stocke dans td mais dans ce qu on appelle un textnode qui est le fils de ton td

    Pour ton code sa devrait etre
    remplcer ca
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    idauteur = sel.firstChild.nodeValue;

  9. #9
    Membre régulier
    Inscrit en
    Avril 2004
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 131
    Points : 95
    Points
    95
    Par défaut
    Tu veux faire quoi exactement

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 120
    Points : 54
    Points
    54
    Par défaut
    Alors ca ressemble à une boite mail :

    tu as une liste de message qui s'affiche dans un tableau et quand je clique dessus j'ai le contenu du message qui s'affiche en dessous. Je suis donc obliger de faire des acces à la base de données.

    Mon premier problème est que je n'arrive pas à recuperer la valeur du champs sur lequel je clique donc je ne peux pas faire un post sur du php pour mettre à jour le contenu du message.

    Ton code marche , arf il faut que je vois pourquoi le miens marche pas.

    En tout cas c'est tres sympa de ta part. Après pour afficher le contenu du message en dessous c'est simple ?

  11. #11
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Citation Envoyé par Greggggggg
    En tout cas c'est tres sympa de ta part. Après pour afficher le contenu du message en dessous c'est simple ?
    Passe par une iframe et un page serveur qui renvoie le contenu d'un message (les mails étant soit des documents html COMPLET (avec head, body, style, ...), soit des simples texte)
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 120
    Points : 54
    Points
    54
    Par défaut
    En fait j'ai pas fait d'Iframe j'ai fait un
    overflow: auto;

    c'est plus compliqué?

  13. #13
    Membre expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Points : 3 239
    Points
    3 239
    Par défaut
    Citation Envoyé par Greggggggg
    En fait j'ai pas fait d'Iframe j'ai fait un
    overflow: auto;

    c'est plus compliqué?
    Et comment tu va gerer les entêtes HTML, les balises <style>, le head, ...
    Tu parles bien de MAIL ? Si oui, alors oblie les div, et utilise les frames/iframes
    Fremy
    Pour vos développements Web et une navigation agréable, le tout gratuit :
    1) IE 8 + IE7Pro (Si vous ne connaissez pas IE7Pro, essayez !)
    2) FF 3 + Web Developper Toolbar + AdBlockPlus + FireBug + GreaseMonkey

  14. #14
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 6
    Points : 6
    Points
    6
    Par défaut greasemonkey
    Bonjour à tous.
    Je post à la suite de ce message car j'y ai trouvé la moitié de ce que je cherchais.

    Mon objectif est de réaliser un script greasemonkey qui va changer la couleur de fond des cellules d'un tableau en fonction de leur contenu.

    Je souhaite donc dans un premier temps à analyser les chaines de chaques cellule et pour cela je dois récupérer leur contenu qui est une chaine de caractère.
    La formule proposée par ldcarpathes est parfaite à ceci près que les cellules de mon tableau n'on pas d'ID et que je ne peux pas en ajouter.

    J'ai bien essayé de changer getElementsByID('id') par getElementsByTagName('TD') mais non, ça ne marche pas.

    Si une bonne âme passe par là....

Discussions similaires

  1. [AC-2010] recuperer la valeur d'un champ cliqué dans tableau
    Par sebing dans le forum VBA Access
    Réponses: 2
    Dernier message: 12/04/2013, 15h13
  2. JSF et AJAX (recuperer la valeur d'un champs ajax)
    Par silverfab34 dans le forum JSF
    Réponses: 6
    Dernier message: 09/07/2010, 09h22
  3. [MySQL] recuperer la valeur d'un champ dans un tableau dynamique
    Par patheo2 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 28/01/2010, 00h55
  4. recuperer la valeur de 2 champs dans un 3eme champs
    Par nouar dans le forum Langage SQL
    Réponses: 4
    Dernier message: 09/01/2006, 12h14
  5. comment recuperer deux valeurs de deux champs input
    Par trialrofr dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/02/2005, 22h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo