[Résolu] javascript pour modifier un texte dans un <td>

javascript pour modifier un texte dans un <td> [Résolu] - HTML/CSS - Programmation

Marsh Posté le 20-05-2005 à 12:38:51    

Bonjour à tous.
 
J'ai quelques soucis pour trouver sur différents sites comment regler mon probleme donc je viens ici vous poser la question. (j'ai rien trouvé non plus sur le forum...)
 
Alors, c'est assez simple somme toute. Comment peut-on modifier le contenu d'une case d'un tableau (c'est à dire, le texte entre <td> et </td> ) avec du javascript.
Voilà comment ça se passe pour le moment. Lorsque je clique sur un bouton qui est dans un formulaire, j'appelle une fonction de cette façon là : onsubmit="envoie(); return false; De cette maniere, la page n'est pas rechargée. Ensuite, je voudrais qu'un texte s'affiche dans une balise <td> de mon tableau qui est hors du form.  
Rapidement :

Code :
  1. <html>
  2. <head>
  3. <script language="JavaScript">
  4. <!--
  5. function envoie(){
  6. //fait ce qui faut pour traiter mes infos
  7. // <-- code pour afficher un texte dans la balise <td> ?!
  8. }
  9. -->
  10. </script>
  11. </head>
  12. <body>
  13. <form name="myForm" onsubmit="envoie(); return false;">
  14.   <input name="data" type="text"/>
  15.   <input type="submit" value="setVar" />
  16. </form>
  17. <table border="3" id="reponseAff">
  18.   <tbody id="TBrepAff">
  19.     <tr id="reponseAffTR">
  20.       <td id="truc">truc much</td>
  21.       <td id="toto">plop</td>
  22.     </tr>
  23.   </tbody>
  24. </table>
  25.  
  26. </body>
  27. </html>



Merci à tous.


Message édité par Papy Brossard le 20-05-2005 à 14:08:13
Reply

Marsh Posté le 20-05-2005 à 12:38:51   

Reply

Marsh Posté le 20-05-2005 à 12:52:00    

Bonjour.

Papy Brossard a écrit :

Voilà comment ça se passe pour le moment. Lorsque je clique sur un bouton qui est dans un formulaire, j'appelle une fonction de cette façon là : onsubmit="envoie(); return false; De cette maniere, la page n'est pas rechargée.


Il faut néamoins prévoir une alternative classique de formulaire: tout le monde n'a pas le javascript activé.
Sans parler du fait qu'une validation doit de toute façon être effectuée côté serveur (il est extrèmement facile de contourner une validation faite en javascript) et un retour doit être fait à l'utilisateur en cas d'erreur.
 
Le non rechargement de la page est donc une très mauvaise chose.

Citation :

Ensuite, je voudrais qu'un texte s'affiche dans une balise <td> de mon tableau qui est hors du form.  
Rapidement :

Code :
  1. <html>
  2. <head>
  3. <script language="JavaScript">
  4. <!--
  5. function envoie(){
  6. //fait ce qui faut pour traiter mes infos
  7. // <-- code pour afficher un texte dans la balise <td> ?!
  8. }
  9. -->
  10. </script>
  11. </head>
  12. <body>
  13. <form name="myForm" onsubmit="envoie(); return false;">
  14.   <input name="data" type="text"/>
  15.   <input type="submit" value="setVar" />
  16. </form>
  17. <table border="3" id="reponseAff">
  18.   <tbody id="TBrepAff">
  19.     <tr id="reponseAffTR">
  20.       <td id="truc">truc much</td>
  21.       <td id="toto">plop</td>
  22.     </tr>
  23.   </tbody>
  24. </table>
  25.  
  26. </body>
  27. </html>


Merci à tous.


Il te faut utiliser document.getElementById(id_de_l'element) pour obtenir ton TD, puis modifier son contenu soit via innerHTML (mon_element.innerHTML=mon_texte) soit via DOM (http://www.quirksmode.org pour des infos sur le DOM) en supprimant le contenu du TD (via removeChild) et en lui ajoutant une node de texte (via appendChild et document.createTextElement).
 
Accessoirement, on ne définit pas un script Javascript par "<script language="JavaScript"> " mais par "<script type="text/javascript"> "


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 20-05-2005 à 14:06:36    

merci pour le "<script type="text/javascript"> " (que je savais déjà mais je suis en train de faire des tests là avant de coder une "vraie" version du bordel.
 
J'ai réussi à m'en sortir juste avant de lire ton post, et j'ai fait comme tu le décris. Je mets le code pour ceux que ça peut interesser :

Code :
  1. document.getElementById("truc" ).firstChild.nodeValue="un texte "+toto;


 
A une prochaine !


Message édité par Papy Brossard le 20-05-2005 à 14:09:46
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed